まず、私はMS Access OleDbを使用していますが、UPDATE
SQLクエリのパラメータの有無にかかわらず何度も試してみました。SQLデータの不一致で条件エラーが発生しました
写真更新ものではありません今の事実、私はボタンを更新しようとすると、私が手:抽出条件式で
データ型の不一致。
このエラーは私を夢中にさせてくれます。私を助けてください。ありがとうございました!
ktN
ヘッダからPublic Int32
としてKayitNo
から来、私は更新のためにデータグリッドためにクリックすると、「
OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=TSP.accdb");
OleDbCommand komut = new OleDbCommand("UPDATE TSP_Data SET [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected] 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((その時点では、テキストボックスとdatetimePickers等に他の列を検索します) @Foto "、OleDbType.Binary、foto.Length).Value = foto; con.Open(); komut.ExecuteNonQuery(); con.Close(); MessageBox.Show( "Successful");
このような順序でテーブルデザイン:
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)
なぜ他のすべての変数に対してktNのパラメータをランダムに使用しないのですか?すべての入力値をパラメータ化する必要があります。エラーに関しては、あなたの変数のいずれかが間違って入力されている可能性がありますが、それはおそらく整数または日付の変数です。入力内容が有効であることを確認してください。そうでない場合はどうですか?あなたのアプリはエントリを検証しているはずです。特に日付がある場合は、文字列だけでなくDateTimeオブジェクトにします。 – ADyson
Convert.ToDateTimeを試してください 'komut.Parameters.AddWithValue( "@ ServisGiris"、Convert.ToDateTime(serviseGirisTarihi.Value));' –
@ChrisCatignani私は何も変わりませんでした。 –