gpt4 book ai didi

c# - 更新条件错误中的 SQL 数据不匹配

转载 作者:太空宇宙 更新时间:2023-11-03 12:20:26 24 4
gpt4 key购买 nike

首先,我使用的是 MS Access OleDb,我尝试了很多次使用和不使用 UPDATE SQL 查询的参数。

照片更新目前不是事实,当我尝试更新按钮时,我得到:

Data type mismatch in criteria expression.

那个错误让我发疯,请帮助我。谢谢!

ktN 来自 KayitNo 作为标题的 Public Int32 当我点击数据网格进行更新时(在那个时候将其他列检索到文本框和 datetimePickers 等)

OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=TSP.accdb");
OleDbCommand komut = new OleDbCommand("UPDATE TSP_Data SET SeriNo=@SeriNo,PartNo=@PartNo,PID=@PID,Model=@Model,UretimTarihi=@UretimTarihi,Teknisyen=@Teknisyen,ServisGiris=@ServisGiris,Ariza=@Ariza,TeknisyenNotu=@TeknisyenNotu,YapilanIslem=@YapilanIslem,MudahaleSonucu=@MudahaleSonucu,BoardUzerindekiYeri=@BoardUzerindekiYeri,TamirSeviyesi=@TamirSeviyesi,SonKontrolSonucu=@SonKontrolSonucu,TeslimEdilenTarih=@TeslimEdilenTarih,UrunDurumu=@UrunDurumu Where KayitNo="+ktN,con);

komut.Parameters.AddWithValue("@SeriNo",Convert.ToString(sNText.Text));
komut.Parameters.AddWithValue("@PartNo", Convert.ToString(partNoText.Text));
komut.Parameters.AddWithValue("@PID",pidText.Text);
komut.Parameters.AddWithValue("@Model",Convert.ToString(modelText.Text));
komut.Parameters.AddWithValue("@UretimTarihi",uretimTarihi.Value);
komut.Parameters.AddWithValue("@Teknisyen", Convert.ToString(teknisyenSec.SelectedItem));
komut.Parameters.AddWithValue("@ServisGiris", serviseGirisTarihi.Value);
komut.Parameters.AddWithValue("@Ariza", Convert.ToString(arizaText.Text));
komut.Parameters.AddWithValue("@TeknisyenNotu", Convert.ToString(teknisyenNotuText.Text));
komut.Parameters.AddWithValue("@YapilanIslem", Convert.ToString(yapilanIslemText.Text));
komut.Parameters.AddWithValue("@MudahaleSonucu", Convert.ToString(mudahaleSonucuSec.SelectedItem));
komut.Parameters.AddWithValue("@BoardUzerindekiYeri", Convert.ToString(boardYeriText.Text));
komut.Parameters.AddWithValue("@TamirSeviyesi", Convert.ToString(tamirSeviyesiSec.SelectedItem));
komut.Parameters.AddWithValue("@CaseID", caseIDText.Text);
komut.Parameters.AddWithValue("@SonKontrolSonucu", Convert.ToString(sonKontrolSonucuSec.SelectedItem));
komut.Parameters.AddWithValue("@TeslimEdilenTarih", teslimEdilenTarih.Value);
komut.Parameters.AddWithValue("@UrunDurumu", Convert.ToString(urunDurumuSec.SelectedItem));

//komut.Parameters.Add("@Foto", OleDbType.Binary, foto.Length).Value = foto; con.Open(); komut.ExecuteNonQuery(); con.Close(); MessageBox.Show("成功");

表格设计顺序如下:

KayitNo(Int,PK,AutomaticNumber)
SeriNo(Long Text)
PartNo(Long Text)
PID(Int)
Model(Long Text)
UretimTarihi(Date/Time)
Teknisyen(Text)
ServisGiris(Date/Time)
Ariza(Long Text)
TeknisyenNotu(Long Text)
YapilanIslem(Long Text)
MudahaleSonucu(Long Text)
BoardUzerindekiYeri(Long Text)
TamirSeviyesi(Long Text)
CaseID (Int)
SonKontrolSonucu(Text)
TeslimEdilenTarih(Date/Time)
UrunDurumu(LongText)
Foto(OLE OBJECT)

最佳答案

DateTime 值需要从 string 转换为 sql datetime

尝试:OleDbCommand komut = new OleDbCommand("UPDATE TSP_Data SET UretimTarihi= convert(varchar(50),@UretimTarihi,101) Where KayitNo="+ktN, con);

使用:komut.Parameters.AddWithValue("@UretimTarihi",uretimTarihi.Value.ToString("yyyy'-'MM'-'dd' 'HH':'mm':'ss"));

或者使用 DateTimeOffset.Now.ToString("yyyy'-'MM'-'dd' 'HH':'mm':'ss' 'zzz")

Have your tried entering the values one by one, to determine which one is giving the errors? Not sure if there's multiple problems, with your insert string. But for certain i've encountered datetime errors when inserting values.

关于c# - 更新条件错误中的 SQL 数据不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47643567/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com