Gå til innhold

C#: Korleis få til ein INSERT statement med dato i C#?


Anbefalte innlegg

Eg held på å skrive eit program som kobler seg opp mot ein oracle database.

 

Eg prøver å kjøre ein INSERT setning men får feilmeldingen:

System.Data.OracleClient.OracleException: ORA-01008: ikke alle variablene er bundet

 

Sånn ser koden ut

 

int trans1 = int.Parse("1");
int trans2 = int.Parse("11");
DateTime trans3 = DateTime.Parse("2007-12-06T14:13:30");

sql = "INSERT INTO CASES (CASE_ID, PERSON_ID, MODIFIED) VALUES(:trans1,:trans2,:trans3)"
cmd = new OracleCommand(sql, conn);
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();

 

Dette feiler :( Er det ein spessiell grunn til det?

Tabellen ser sånn ut

 

CREATE TABLE CASES
(ID NUMBER PRIMARY KEY NOT NULL, CASE_ID NUMBER NOT NULL, PERSON_ID NUMBER NOT NULL UNIQUE, MODIFIED DATE)

Endret av siDDIs
Lenke til kommentar
Videoannonse
Annonse

Du har jo ikke spesifisert noen parametre i OracleCommand objektet.

 

 

Edit: Måtte sjekke om OracleCommand hadde de samme metodene for parametre som SqlCommand.

 

Det er flere måter å gjøre det på. Her er en av dem.

Er usikker på hva parameterName skal være for å mappe mot parameter i SQL statementet, men gjetter på at det er likt

cmd.Parameters.AddWithValue(":trans1",trans1);
cmd.Parameters.AddWithValue(":trans2",trans2);
cmd.Parameters.AddWithValue(":trans3",tran31);

 

Kan ikke garanterer at det virker, men det er ikke langt i fra.

Endret av kaffenils
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...