PDA

View Full Version : سوال: مشکل در برگرداندن اطلاعات از اکسس



sima_2n5k
سه شنبه 17 مرداد 1391, 11:20 صبح
با سلام
من میخوام select از اکسس بگیرم که هم با چند تا پارامتر اطلاعات و برگردونه اگه داشت کدم اینجوری ولی کار نمی کنه:

queryString = "select * from tblEmployee where FName=" + txtSFName.Text + " and LName=" + txtSLName.Text + " and CardNo=" + txtSCardNo.Text;
da = new OleDbDataAdapter(queryString , conn.Cnn);
ds = new DataSet();
ds.Clear();
da.Fill(ds);
dgvEmployee.DataSource = ds.Tables[0];
conn.Cnn.Close();

barnamenevisforme
جمعه 27 مرداد 1391, 16:48 عصر
سلام
قبل از فراخوانی متد da.fill حتما باید conn.cnn.open رو فراخونی کنید.
بعد از عبارت مساوی حتما از ' استفاده کنید.یعنی:
queryString = "select * from tblEmployee where FName='" + txtSFName.Text + "' and LName='" + txtSLName.Text + "' and CardNo='" + txtSCardNo.Text;

veniz2008
جمعه 27 مرداد 1391, 17:23 عصر
سلام. وقتی از دیتاآداپتور استفاده میشه نیازی به باز کردن کانکشن نیست. مشکل شما از دستور select هست:

queryString = "select * from tblEmployee where FName='" + txtSFName.Text + "' and LName='" + txtSLName.Text + "' and CardNo=" + txtSCardNo.Text;
da = new OleDbDataAdapter(queryString , conn.Cnn);
ds = new DataSet();
da.Fill(ds);
dgvEmployee.DataSource = ds.Tables[0];

در واقع چون cardNo از نوع int هست نباید تک کوتیشن داشته باشه. همچنین زمانیکه یک شی رو new میکین یعنی از نو ساختیش و نیازی به clear کردن اون نیست(چون چیزی داخلش نیست که بخوای پاکش کنی).

h_assefi
شنبه 28 مرداد 1391, 15:35 عصر
دوستان اگه از حالت پارامتریک استفاده کنید دیگه به یک همچین مشکلی بر نمی خورید و خود برنامه بصورت اتوماتیک تشخیص میده