PDA

View Full Version : login به برنامه c# با استفاده از پایگاه داده اوراکل



amd906
یک شنبه 14 تیر 1388, 08:19 صبح
با سلام
من کدی برای ورود به یک برنامه نوشته ام که پایگاه داده آن اوراکل می باشد اما این کد کار نمی کند لطفا راهنمایی کنید. اگر این قسمت نیاز به procedure یا package دارد نحوه نوشتن آن در اوراکل و استفاده از آن در برنامه را نشان دهید. اگر راه حل دیگری نیز سراغ دارید بفرمایید..

کد مربوط به login به صورت زیر می باشد:


private void btnOK_Click(object sender, EventArgs e)
{

OracleConnection con = new OracleConnection("Data Source=GLOBAL;User ID=system;Password=1221");
OracleDataAdapter da = new OracleDataAdapter("select user_name,user_password from users where"+txtName.Text+"=user_name"+txtPass.Text+"=user_password",con);

con.Open();
DataSet ds = new DataSet();
da.Fill(ds);
con.Close();
if((txtName.Text==ds.Tables[0].Rows[0]["user_name"].ToString())&&(txtPass.Text==ds.Tables[0].Rows[0]["user_password"].ToString()))
{
frmMain fmain = new frmMain();
fmain.Show();
this.Close();
MessageBox.Show("WelCome!");
}
else {
MessageBox.Show("User Name Or Password is invalid.");

}
}

araz1367
سه شنبه 19 آبان 1388, 14:51 عصر
با سلام دوست عزیز:
مشکل شما در شرط if هست و اون رو باید به صورت زیر تغییر دهید:

if (ds.Tables["users"].Rows.Count == 1)
:لبخند:

hdv212
یک شنبه 24 آبان 1388, 15:24 عصر
منظورتون از این کد کار نمیکنه چیه ؟ آیا پیغام خطایی میده ؟
با توجه به کدتون من حس میکنم پیغام خطایی میده، فعلا این مشکل رو حل کنید و بعد تست کنید ببینید درست میشه یا نه، در قسمت شرط کوئری، بین where و نام فیلد، هیچ فاصله ای قرار داده نشده که خود این امر، باعث بروز خطا میشه، ضمنا در اوراکل رو نمیدونم ولی در Sql Server و MySql اول نام فیلد ذکر میشه و بعد مساوی با مقدارش قرار داده میشه، مطمئنید اینجای کار رو هم درست انجام دادید ؟