PDA

View Full Version : سوال: مشکل در استفاده از SqlCeDataAdapter



bade saba
جمعه 15 شهریور 1387, 12:17 عصر
من کدهای زیر رو برای بازیابی اطلاعات از sql pocket pc نوشتم که error نمیده اما کار هم نمیکونه .
البته دستورات دگه sql مثل insert که با SqlCeCommand مینویسم درست کار میکنه



SqlCeConnection frmMainConection = new SqlCeConnection("Data Source='Test.sdf'; LCID=1033;Password=\"123456\"; Encrypt = TRUE;");

SqlCeDataAdapter frmMainDataAdapter = new SqlCeDataAdapter();

frmMainConection.Open();

frmMainDataAdapter.SelectCommand = new SqlCeCommand();
frmMainDataAdapter.SelectCommand.Connection = frmMainConection;
frmMainDataAdapter.SelectCommand.CommandText = "SELECT name FROM tel";
frmMainDataAdapter.SelectCommand.CommandType = CommandType.Text;

DataSet frmMainDataSet = new DataSet();

frmMainDataAdapter.Fill(frmMainDataSet, "tel");
dataGrid1.DataSource =frmMainDataSet;

frmMainConection.Close();

reza6384
جمعه 15 شهریور 1387, 15:53 عصر
من فکر می کنم که مشکل شما یکی از این دوتاست :
1- Connection String شما اشکال داره.
2- اطلاعات توی Dataset وجود داره ولی نمایش داده نمیشه.

به نظر من احتمال زیاد مشکل دوم رو دارید.

اولا که می تونید با Dataset.Tables(0).Rows.Count چک کنید که ببینید رکوردی توی جدول دیتاست شما وجود داره یا نه. یعنی اگر مقدارش صفر بود خالیه.

شما برای نمایش اطلاعات در Grid در Net CF باید یک BindingSource تعریف کنید :



Dim BS as new BindingSource
BS.DataSource = MyDataSet
BS.DataMember = MyDataSet.Tables(0).TableName
DataGrid.DataSource = BS


در ضمن لطفا کدهاتون رو داخل تگ کد که با علامت # مشخص شده وارد کنید.

این رو تست کنید بازهم اگر مشکل داشتید بگین.

bade saba
جمعه 15 شهریور 1387, 20:24 عصر
ممنون با این روش bind کردن داده هارو نشون داد