Jag har problem med denna inserten: Sql'n ser ju ut att vara fel ja. Men jag tror inte felet beror på det. Hej Jörgen, tack för det. Jag har kommit så här långt nu, att jag måste ha mina checkboxar som int(0 eller 1) JAg hittade ett alternativt sätt att fixa detta på:Problem med insert
<code>
sqlInsert= "(Insert INTO t_kunder(KundKategori,Firma,Namn,Box,Adress,Postort,Tel,Mobil,Fax,URL,Epost,Anteck,Ejljud,Info,Skickcd)";
sqlInsert=sqlInsert +"VALUES(" + k_kat +",";
sqlInsert=sqlInsert +"'" + firma +"',";
sqlInsert=sqlInsert +"'" + namn +"',";
sqlInsert=sqlInsert +"'" + box +"',";
sqlInsert=sqlInsert +"'" + adress +"',";
sqlInsert=sqlInsert +"'" + postort +"',";
sqlInsert=sqlInsert +"'" + tel +"',";
sqlInsert=sqlInsert +"'" + mobil +"',";
sqlInsert=sqlInsert +"'" + fax +"',";
sqlInsert=sqlInsert +"'" + url +"',";
sqlInsert=sqlInsert +"'" + epost +"',";
sqlInsert=sqlInsert +"" + ejljud +",";
sqlInsert=sqlInsert +"" + info +",";
sqlInsert=sqlInsert +"" + skickcd +",";
sqlInsert=sqlInsert +"'" + anteck +"')";
//**
SqlCommand mInsertCommand=new SqlCommand(sqlInsert,con);
//**
con.Close();
con.Open();
SqlDataAdapter mAdapter = new SqlDataAdapter();
mAdapter.InsertCommand = mInsertCommand;
mAdapter.Update(ds,"frånKunder");
con.Close();
</code>
Jag ville ha en parantes till i slutet, men det vill inte C#:
Jag får ett felerror:
"Det gick inte att hitta TableMapping[ifrånKunder] eller DataTable frånKunder."
Sen händer ingenting mera.
Jag tror ändå att jag har någonting fel i min SQL.Sv: Problem med insert
Din kolumnlistning är inte samma som värdelistan. Kolumnlistan slutar på Skickcd, och värdelistan slutar på anteck
EDIT: SQL-kommandon ska inte börja med parantes.
/JörgenSv: Problem med insert
Nu blev felet någonting annat.
<code>
An unhandled exception of type 'System.ArgumentException' occurred in system.data.dll
Additional information: System.FormatException: Strängen identifierades inte som en giltig Boolean-sträng.
at System.Boolean.Parse(String value)
at System.Convert.ToBoolean(String value, IFormatProvider provider)
at System.String.System.IConvertible.ToBoolean(IFormatProvider provider)
at System.Convert.ToBoolean(Object value)
at System.Data.Common.BooleanStorage.Set(Int32 record, Object value)
at System.Data.DataColumn.set_Item(Int32 record, Object value)Det gick inte att lagra < > i kolumnen EjLjud. Typen Boolean förväntas.
</code>
Jag har tre fält som kommer ifrån chickboxar, och som lagras som 0 eller ett.
Detta har jag uppfattat som int men det skall kanske vara bool?
<code>
int ejljud;
int info;
int skickcd;
if(checkBox1.Checked)
{
ejljud=1;
}
else
{
ejljud=0;
}
if(checkBox2.Checked)
{
info=1;
}
else
{
info=0;
}
if(checkBox3.Checked)
{
skickcd=1;
}
else
{
skickcd=0;
}
</code>
Skall jag ändra till boll och skriva true/false?Sv: Problem med insert
Jag fick mitt stora problem, när jag började att i SQLServern flytta runt mina fält, vilket jag inte skulle göra. Det är nu återstält.
När jag kör min uppdate, som ser snarligt ut som insert, då har jag inga problem, det är vid inserten det hänger, när jag skall köra:
<code>
mAdapter.Update(ds,"frånKunder");
</code>
då kommer felet:
<code>
"Det gick inte att hitta TableMapping[ifrånKunder] eller DataTable frånKunder."
</code>
alltså samma fel som i början. Nu har jag varit väldigt noga med att allting skall se likadant ut, men någonstans är det ju galet.
Under knappen för insert:
<code>
DataRow nyRad = ds.Tables["frånKunder"].NewRow();
nyRad.ItemArray=AllaVärden;
ds.Tables["frånKunder"].Rows.Add(nyRad);
UppdateaDatabasen();
FyllpåListrutan();
</code>
Formuläret har 11 textrutor och 3 checkboxar. textrutorna ligger i en array(AllaVärden).
Vet inte hur jag skall lösa detta.Sv: Problem med insert
<code>
SqlCommand cmd=new SqlCommand(sqlInsert,this.con);
cmd.ExecuteNonQuery();
con.Close();
</code>
Nu fungerar denna biten som smort, men jag har fortfarande svårt att förstå varför min förra kod inte ville fungera.