PDA

View Full Version : سوال: خطا در کد نویسی دکمه حذف



aliakbar2152
سه شنبه 22 اسفند 1396, 22:38 عصر
خطا زیر موقعه ای که دکمه حذف رو میزنم ظاهر میشه علتش چیه.چطوری برطرف میشه.کد های حذف بدون اتصال به دیتا گریده و از یه تکس باکس عدد میگره بعد با زدن دکمه سرچ اطلاعات تی بل بان اکسس رو تو تکس باکس ها قرار میده.اما همه دکمه های saveو editeکار میکنه و فقط در هنگام زدن دکمه حذف این پیغام میده .چکار باید کنم
Data Type mismathin in criteria expression
پیغام خطا بالا وصل به
ExecuteNonQuery

ممنونم راهنماییم کنید

رامین مرادی
چهارشنبه 23 اسفند 1396, 08:02 صبح
کدتون رو بزارید

محمد رضا فاتحی
پنج شنبه 24 اسفند 1396, 16:22 عصر
این خطا زمانی رخ می ده که داده ای که می خواین توی دیتابیس ذخیره کنید با نوع فیلدتون یا مثلا طولش فرق داره

aliakbar2152
پنج شنبه 24 اسفند 1396, 17:00 عصر
سلام

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;

namespace AccessTestDB
{
public partial class frmBook : Form
{
public frmBook()
{
InitializeComponent();
}

OleDbConnection con = new OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=TestDBAccess.mdb");
OleDbCommand cmd = new OleDbCommand();

private void btnDelete_Click(object sender, EventArgs e)
{
cmd.Parameters.Clear();
cmd.Connection = con;
cmd.CommandText = "delete from TBLBook where ID="+txtCode.Text;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("اطلاعات با موفقیت حذف شد", "پیغام موفقیت");

aliakbar2152
پنج شنبه 24 اسفند 1396, 17:09 عصر
سلام دوست عزیز پس چرا موقع ذخیره کردن این خظا رخ نمیده

کد نویسیش هم اینطوریه

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
namespace AccessTestDB
{
public partial class frmBook : Form
{
public frmBook()
{
InitializeComponent();
}
OleDbConnection con = newOleDbConnection("provider=microsoft.jet.oledb.4.0;data source=TestDBAccess.mdb");
OleDbCommand cmd = newOleDbCommand();
private void btnDelete_Click(object sender, EventArgs e)
{
cmd.Parameters.Clear();
cmd.Connection = con;
cmd.CommandText = "delete from TBLBook where ID="+txtCode.Text;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("اطلاعات باموفقیت حذف شد", "پیغام موفقیت");
}
}
}

ali_md110
پنج شنبه 24 اسفند 1396, 21:58 عصر
ممکنه از دستور SQL و دابل کوتیشن باشه
در ترکیب دستورات اسکیول و کدهای #c بهتر و ارجح تر اینه از پارامترها استفاده کنیم

try
{
var id=txtCode.text;
using (var cnn= new SqlConnection(ConnectionString))
using (var cmd = cnn.CreateCommand())
{
cnn.Open();
cmd.CommandText = "DELETE FROM TBLBook WHERE ID = @id";
cmd.Parameters.AddWithValue("@id", id);
cmd.ExecuteNonQuery();
}
}
catch (Exception e)
{

}

ahmad.t1100
پنج شنبه 24 اسفند 1396, 22:05 عصر
اگه ای دی از نوع عدد هست
cmd.CommandText = "delete from TBLBook where ID="+txtCode.Text+"";
اگه ای دی از نوع تکست هست
cmd.CommandText = "delete from TBLBook where ID='"+txtCode.Text+"'"