نوشته شده توسط
M.YasPro
سلام
متد
sqlCommand.ExecuteScalar فیلد اول از اولین رکورد رو بر میگردونه .
بافرض این که کوئری شما باشه:
select name from person where id=1
مقدار فیلد name رو میتونید اینجوری نمایش بدید .
MessageBox.Show(sqlCommand.ExecuteScalar().ToStrin g());
موفق باشید .
ممنون
لازمه یه مقدار توضیح بدم
ببین من این کار رو برای زمانی می خام که کاربرم رمز عبورش رو فراموش کرده . پایین صفحه یه لیبل گذاشتم با عنوان "رمز عبور خود را فراموش کرده ام"
وقتی که در ابتدای اجرای برنامه (برای اولین بار) کاربر نام کاربری و رمز عبورش رو تعریف می کنه یه فیلد دیگه رو هم که من اسمش رو گذاشتم "کلمه اشاره " تعریف می کنه
در واقع تیبل من سه تا فیلد داره: نام کاربری ، رمز عبور، کلمه اشاره
کلمه اشاره یه چیزیه مشابه hint توی ویندوز زمانی که رمز رو یادمون میره اگه قبلا براش تعریف کرده باشیم وقتی روی دکمه مربوط به اون کلیک می کنیم اون hint رو بهمون نشون میده و ما رو به یاد رمزمون می ندازه
حالا من میخام همون hint رو که الان به نام کلمه اشاره هست به کاربرم اطلاع بدم.
حالا با توجه به توضیحات شما این کد رو نوشتم ولی خطا میده:
privatevoid label3_Click(object sender, EventArgs e)
{
SqlDataAdapter da = newSqlDataAdapter();
SqlConnection myConnection = newSqlConnection();
SqlCommand objCommand = newSqlCommand();
DataTable dt = newDataTable();
objCommand.CommandText = "select security from enter ";
objCommand.Connection = myConnection;
objCommand.CommandType = CommandType.Text;
myConnection.ConnectionString="Data Source=.;Initial Catalog=quran;Integrated Security=True";
MessageBox.Show("کلمه اشاره شما"+" "+objCommand.ExecuteScalar().ToString()+" "+"می باشد.");
}
خطاش هم اینه:
ExecuteScalar requires an open and available Connection. The connection's current state is closed.