PDA

View Full Version : سوال: مشکل در کد sql



harbabi
شنبه 13 دی 1393, 22:34 عصر
سلام دوستان.
من می خوام درون سورس کد برنامه و با کلیک دکمه :
یک فیلد از جدول رو selectکنم بعد مقادیر داخل این فیلد رو با textbox1مقایسه کنم. در صورتی که یکسان بود کار خاصی رو انجام بدم .
کر زیر رو نوشتم . اما جواب نمیده. می شه بگین اشکالش چیه؟
ممنون می شم اگر سریع جوابمو بدین..


SqlDataSource1.SelectCommand="select down1 from Table_1";
foreach (char item in SqlDataSource1.SelectParameters)
{
s = item.ToString();




if (s == TextBox1.Text)
{
SqlDataSource2.Insert();
}

anvar
یک شنبه 14 دی 1393, 00:10 صبح
چرا اینجوری چک میکنید؟

زمانی که نیاز به خود داده ها ندارید بهتره از دیتاریدر استفاده کنید

SqlCommand command = new SqlCommand(
"SELECT down1 FROM table;",
connection);
connection.Open();

SqlDataReader reader = command.ExecuteReader();

if (reader.HasRows)
{
while (reader.Read())
{
string myvarible= (string)rdr["down1 "];

if (myvarible == TextBox1.Text)
{
SqlDataSource2.Insert();
}
}
}
else
{
No rows found
}
reader.Close();

harbabi
یک شنبه 14 دی 1393, 14:06 عصر
چرا اینجوری چک میکنید؟

زمانی که نیاز به خود داده ها ندارید بهتره از دیتاریدر استفاده کنید

SqlCommand command = new SqlCommand(
"SELECT down1 FROM table;",
connection);
connection.Open();

SqlDataReader reader = command.ExecuteReader();

if (reader.HasRows)
{
while (reader.Read())
{
string myvarible= (string)rdr["down1 "];

if (myvarible == TextBox1.Text)
{
SqlDataSource2.Insert();
}
}
}
else
{
No rows found
}
reader.Close();

بسیار ممنونم آقای انور از جوابتون . فقط می شه بگین rdrچیه؟

harbabi
یک شنبه 14 دی 1393, 14:21 عصر
بازم مممنوم
متوجه شدم rdr همون redear هست.

anvar
یک شنبه 14 دی 1393, 14:23 عصر
شرمنده - از خود نوشتن مشکلاتی داره

با reader جایگزین شود

اگر هدف شما چک کردن احتمالا نام کاربری و اینجور چیزهاست فقط

if (reader.HasRows
کفایت میکنه - بدین معنی که حداقل 1 رکورد در جدول پیدا شده و دستور لازم برای داشت رکود در جدول را در ادامه بذارید
و
else
{
No rows found
}

بدین معنی که رکوردی برگردانده نشده و شما می تونید عملیات مورد نظر رو در صورت نبودن رکورد در جدول در این قسمت دنبال کنید