PDA

View Full Version : اشکال در asp.net2 با c#



roya_dibaj
دوشنبه 21 آبان 1386, 13:50 عصر
سلام من می خوام ورودی textbox , password را با داده های sql چک کنه اگه چنین user ای وجود نداشته باشه برگرده به همون صفحه ولی اگر وجود داشته باشه روی label بنویسه hiii کد زیر و می نویسم ولی شرط اول و چک نمیکنه با اینکه چنین user ای ندارم ولی باز هم عبارت hiii نشون میده لطفآ راهنمایی کنید




SqlConnection cnn = new SqlConnection("Data Source=hfsfsfrh-ws007\\sqlexpress;integrated security=SSPI;Initial catalog=test2;");




string inst = "select count(*) from t1 where username='" + TextBox1.Text + "' and password='" + Password1.Value + "'";

SqlCommand cmd = new SqlCommand(inst,cnn);
cmd.Connection.Open();
int a = cmd.ExecuteNonQuery();
int i = 0;
if (a == i)
{
Response.Redirect("default.aspx");
}
if(a!=0)
{
Label1.Text = "hiii";
}


cmd.Connection.Close();

m.hamidreza
دوشنبه 21 آبان 1386, 14:53 عصر
علت تعریف متغیر i چیه ؟! بدون i نمیشد مگه ؟
شما یه if-else بذار ایشاالله درست میشه ! :لبخندساده: که توی if در صورت وجود user بره بگه Hi و تو else مثلا بنویسی این کاربر وجود ندارد !
بعد یه چیز دیگه وقتی user هست باید بره تو یه صفحه دیگه و اونجا بگه Hi ....

hamed_bostan
دوشنبه 21 آبان 1386, 15:26 عصر
به جای ExecuteNonQuery() از ExecuteScallar استفاده کن ببین حل میشه .

roya_dibaj
دوشنبه 21 آبان 1386, 15:26 عصر
if _ else استفاده کردم ولی باز هم درست نشد شرط if چک نمیکنه




{
SqlConnection cnn = new SqlConnection("Data Source=ertete-ws007\\sqlexpress;integrated security=SSPI;Initial catalog=test2;");
string inst = "select count(*) from t1 where username='" + TextBox1.Text + "' and password='" + Password1.Value + "'";
SqlCommand cmd = new SqlCommand(inst, cnn);
cmd.Connection.Open();
{
int a = cmd.ExecuteNonQuery();
if (a == 0)
Label1.Text = "چنین کاربری وجود ندارد";
else Label1.Text = "hiiii";
} cmd.Connection.Close();
}

roya_dibaj
دوشنبه 21 آبان 1386, 15:29 عصر
نه اجازه استفاده از ExecuteScalar رو نمیده

hamed_bostan
دوشنبه 21 آبان 1386, 15:33 عصر
نه اجازه استفاده از ExecuteScalar رو نمیده

یعنی چی اجازه استفاده از scallar رو نمیده؟

roya_dibaj
دوشنبه 21 آبان 1386, 15:44 عصر
error میده می نویسه


cannot implicity convert type 'object' to int


چون خروجیش int نیست

roya_dibaj
دوشنبه 21 آبان 1386, 15:52 عصر
تبدیل به object هم کردم درست نشد



cmd.Connection.Open();
{
object a = cmd.ExecuteScalar();
if (a == "0")
Label1.Text = "چنین کاربری وجود ندارد";
else Label1.Text = "hiiii";
} cmd.Connection.Close();

hamed_bostan
دوشنبه 21 آبان 1386, 16:03 عصر
اینطوری تبدیل کن عزیز :


object obj;
System.Data.SqlClient.SqlDataAdapter sqlda=new System.Data.SqlClient.SqlDataAdapter("select Count(*) from TableName",con);
con.Open();
obj=sqlda.SelectCommand.ExecuteScalar();
con.Close();
if ( obj != null)
{
int k;
k = Convert.ToInt16(obj);
} else
{
MessageBox.Show("null");
}

hamedgh
دوشنبه 21 آبان 1386, 22:02 عصر
این هم امتحان کن 99% جواب می ده



SqlConnection cnn = new SqlConnection("Data Source=ertete-ws007\\sqlexpress;integrated security=SSPI;Initial catalog=test2;");
string inst = "select count(*) from t1 where username='" + TextBox1.Text + "' and password='" + Password1.Value + "'";
SqlCommand cmd = new SqlCommand(inst, cnn);
cmd.Connection.Open();
{
string a = cmd.ExecuteNonQuery().ToString();
if (a == "0")
Label1.Text = "چنین کاربری وجود ندارد";
else Label1.Text = "hiiii";
} cmd.Connection.Close();

roya_dibaj
سه شنبه 22 آبان 1386, 08:53 صبح
دوست عزیز خیلی ممنون از راهنمایی ولی باز هم جواب نداد شرط و چک نمیکنه

roya_dibaj
سه شنبه 22 آبان 1386, 09:19 صبح
اقا خیلی لطف کردی درست شد دستت درد نکنه از همون کدی که دادید استفاده کردم فقط از scalar استفاده کردم

hamedgh
سه شنبه 22 آبان 1386, 09:43 صبح
منظور منم استفاده از Scalar بود اشتباهی نوشتم بودم ....