C# 条件表达式中的数据类型不匹配-仅在最近启动
我使用Access数据库。30分钟前没有发生此错误 错误是: 条件表达式中的数据类型不匹配 我的数据库列包括:C# 条件表达式中的数据类型不匹配-仅在最近启动,c#,sql,asp.net,ms-access,C#,Sql,Asp.net,Ms Access,我使用Access数据库。30分钟前没有发生此错误 错误是: 条件表达式中的数据类型不匹配 我的数据库列包括: ID = AutoNumber isin_adi = Short Text isin_tanimi = Long Text verildigi_tarih= Date/Time teslim_tarihi=Date/Time sorumlu_marka = Short Text sorumlu_ajans=Short Text personel_id=Number revize=Sho
ID = AutoNumber
isin_adi = Short Text
isin_tanimi = Long Text
verildigi_tarih= Date/Time
teslim_tarihi=Date/Time
sorumlu_marka = Short Text
sorumlu_ajans=Short Text
personel_id=Number
revize=Short Text
is_durum=Short Text
Temsilci_isverenid=Number
我解决了这个问题。我意识到参数的等级不是真的。我这样更改代码:
OleDbConnection con = new OleDbConnection(Utility.GetConnection());
con.Open();
OleDbCommand cmd2 = new OleDbCommand("INSERT INTO Temsilci(isin_adi,isin_tanimi,verildigi_tarih,teslim_tarihi,sorumlu_marka,sorumlu_ajans,revize,Temsilci_isverenid) values (@isinadi,@isintanimi,@vertarih,@testarih,@smarka,@sajans,@revize,@temsid)", con);
cmd2.Parameters.Add("isinadi", txtisAdi.Text);
cmd2.Parameters.Add("isintanimi", txtMarkaAdi.Text);
cmd2.Parameters.Add("vertarih", txtverilisTarihi.Text);
cmd2.Parameters.Add("testarih", txtTeslimTarihi.Text);
cmd2.Parameters.Add("smarka", txtMarkaTemsilcisi.Text);
cmd2.Parameters.Add("sajans", txtAjansTemsilcisi.Text);
cmd2.Parameters.Add("revize", txtSorumluKisiler.Text);
cmd2.Parameters.Add("temsid", Session["UserID"]);
cmd2.ExecuteNonQuery();
con.Close();
之后,我得到如下错误:
无法添加或更改记录,因为表“Personel”中需要相关记录。
我从两个表中删除了关系。现在它工作正常了。
我认为access数据库有一些错误,即使代码是正确的,也可能会出现错误。
所以我将把我的数据库从ACCESS迁移到SQL。谢谢各位。会话[“用户ID”]的确切值是多少?还有每个文本框。如果您将一组字符串传递给数据库,它将抱怨列不是字符串,则可能重复。。您应该转换/解析所有非字符串参数。我稍微更改了问题的布局(主要是将查询的一部分移到下一行),以便更容易发现问题。解释您看到的内容。
OleDbConnection con = new OleDbConnection(Utility.GetConnection());
con.Open();
OleDbCommand cmd2 = new OleDbCommand("INSERT INTO Temsilci(isin_adi,isin_tanimi,verildigi_tarih,teslim_tarihi,sorumlu_marka,sorumlu_ajans,revize,Temsilci_isverenid) values (@isinadi,@isintanimi,@vertarih,@testarih,@smarka,@sajans,@revize,@temsid)", con);
cmd2.Parameters.Add("isinadi", txtisAdi.Text);
cmd2.Parameters.Add("isintanimi", txtMarkaAdi.Text);
cmd2.Parameters.Add("vertarih", txtverilisTarihi.Text);
cmd2.Parameters.Add("testarih", txtTeslimTarihi.Text);
cmd2.Parameters.Add("smarka", txtMarkaTemsilcisi.Text);
cmd2.Parameters.Add("sajans", txtAjansTemsilcisi.Text);
cmd2.Parameters.Add("revize", txtSorumluKisiler.Text);
cmd2.Parameters.Add("temsid", Session["UserID"]);
cmd2.ExecuteNonQuery();
con.Close();