PDA

View Full Version : خطا در کار با dataset



sitara24
پنج شنبه 29 دی 1390, 13:10 عصر
من دارم یه صفحه طراحی میکنم که میخواد توش کاربر کلمه کاربری و رمز عبورش رو تغییر بده.
حالا میخوام با dataset برنامه براساس نام کاربری که میده سطر مربوطه رو پیدا کنه و کلمه رمز فعلی رو با اونی که تایپ میکنه و... چک کنه.
حالا من این کد رو نوشتم ولی توی ad.Fill(ds, "Tbl_Users"); خطا میده که ستونی به اسم Useradmin نیست.(useradmin اصلا ستون نیست.بلکه توی شرط where جوابه اونه.
string strConn;

NameValueCollection nv = new NameValueCollection();
nv = ConfigurationManager.AppSettings;
strConn = nv.Get("connectionstring");
SqlConnection connection = new SqlConnection();
connection.ConnectionString = strConn;
SqlCommand cmd = new SqlCommand();
cmd.Connection = connection;
//cmd.CommandText = "select * from Tbl_Users where Username="+ TxBUserName.Text ;+
SqlDataAdapter ad = new SqlDataAdapter();
ad.SelectCommand = new SqlCommand();
ad.SelectCommand.Connection = connection ;
ad.SelectCommand.CommandText = "select * from Tbl_Users where Tbl_Users.Username=" + TxBUserName.Text;
ad.SelectCommand.CommandType = CommandType.Text;

connection.Open();
DataSet ds = new DataSet();

ad.Fill(ds, "Tbl_Users");

DataRow dr;

لطفا اگه نظری دارین بدین

group45
پنج شنبه 29 دی 1390, 13:32 عصر
سلام
دوست عزیز شما اصلا میدونید کار دیتا ست چیه؟ کارش اینه که (در برنامه شما) تمام اطلاعات شرط دیتا ادپتر رو تو یه مخزنی میریزه که تو رمه و اسم جدولش "Tbl_Users" هست و بازم تاکید میکنم که تو رمه یعنی اگه تغییری تو داده ها اجام شد تا اونا رو واسه بروز رسانی به دیتا بیس نفرستید هیچ تغییری تو دیتابیس اتفاق نمی افته

cherchil_hra
پنج شنبه 29 دی 1390, 14:07 عصر
فیلد username از نوع رشته ای هست پس مقدار رو داخل ' ' قرار بده
String.Format("select * from Tbl_Users where Tbl_Users.Username='{0}'", TxBUserName.Text)

یا

"select * from Tbl_Users where Tbl_Users.Username='" + TxBUserName.Text + "'"

sitara24
پنج شنبه 29 دی 1390, 18:25 عصر
سلام
دوست عزیز شما اصلا میدونید کار دیتا ست چیه؟ کارش اینه که (در برنامه شما) تمام اطلاعات شرط دیتا ادپتر رو تو یه مخزنی میریزه که تو رمه و اسم جدولش "Tbl_Users" هست و بازم تاکید میکنم که تو رمه یعنی اگه تغییری تو داده ها اجام شد تا اونا رو واسه بروز رسانی به دیتا بیس نفرستید هیچ تغییری تو دیتابیس اتفاق نمی افته
ممنون دوست عزیز.آره میدونم.ولی مشکلم یه چیز دیگه بود.اینکه جواب where رو به عنوان ستون در نظر میگرفت که با توضیح دوستمون درست شد