ElinenMedlem sedan jan. 20113 inlägg
Hej jag har problem med en insert-sats och undrar om ni kan se vad jag gör för fel. Har provat en massa varianter, men inte fått det att fungera.
En av de enklare varianterna ser ut såhär:
string insertString= string.Format("INSERT INTO LevInfo (ID,Prod,Datum,Lev,LID) VALUES (id,lista[0],datum,lista[2],lid)");
con = new SqlConnection(connstring);
com = new SqlCommand(insertString, con);
tran = null;
try
{
con.Open();
tran = con.BeginTransaction();
com.Transaction = tran;
com.ExecuteNonQuery();
tran.Commit();
ok = true;
}
catch
{
if (con.State == ConnectionState.Open)
{
tran.Rollback();
}
ok = false;
}
finally
{
if (con.State == ConnectionState.Open)
{
con.Close();
}
}
}
return ok;
Fredde MannenMedlem sedan nov. 20013 498 inlägg
Första frågan är några felmeddelanden/Exceptions?
Annars kan jag tänka mig att insert-strängen skall formuleras lite annorlunda..
string insertString = string.Format("INSERT INTO LevInfo (ID,Prod,Datum,Lev,LID) VALUES ({0},{1},{2},{3},{4})",id, lista[0],datum ,lista[2], lid);
Antar att id, lista, datum och lid är variablar med värden i din C#-kod?
ElinenMedlem sedan jan. 20113 inlägg
Tack för svar. Jag har dock löst problemet för ett tag sen. Har bara glömt att skriva in det här. Problemet hade att göra med att jag satt en av kolumnerna i databasen till primärnyckel. Jag fick tydligen inte skicka in värden då. Så för att lösa det dilemmat, så skickar jag först en sql-sats som ändrar det tillståndet så att jag får skicka in värden till primärnyckelkolumen också.
string first = string.Format("SET IDENTITY_INSERT LevInfo ON");
Direkt efter detta kör jag insert-satsen. Och allt funkar då ok. =)
rhdfMedlem sedan okt. 2007447 inlägg
men vilken lysande lösning på en dålig grundlösning ;)
hela idén med primärnycklar, särskilt de som är av typen "räknare" är att man inte skall kunna skapa värdena till dem själv hur som helst.
hade det inte varit enklare att ta bort primärnyckeln (dumt), eller helt enkelt ge fanken i att försöka skicka in egna värden i den kolumnen.
ElinenMedlem sedan jan. 20113 inlägg
Värdet för primärnyckelkolumnen är inte satt till en räknare, utan vanlig integer. (Så vitt jag kan minnas). Det fungerade inte att skicka in värden till alla kolumner utom primärnyckelkolumnen. Har också letat efter hur man får en primärnyckelkolumn att auotmatgenereras, men har inte hittat hur detta går till. Så det enda som återstod var att skicka in värde, vilket iof inte är något problem i sig för min del. Ska tilläggas att jag inte fick använda lagrade procedurer, annars hade det nog inte varit några problem.