PDA

View Full Version : خطا در خواندن مقادیر از پایگاه داده



baranbahari1320
جمعه 13 آذر 1394, 14:59 عصر
با سلام من تو صفحه لاگین مربوط به پروژه ام با خطایی به صورت زیر مواجه شدم.
137228
جدول مربوط به user رو هم به صورت زیر در sql server تعریف کرده ام
137229
در کد نویسی هم از یک کلاس عمومی برای ایجاد کلیه کارهای اتصال به بانک و ...استفاده کردم کدش به صورت زیر است.

namespace book
{
class DataAccess
{

SqlConnection scon;
SqlCommand scom;
SqlDataAdapter sda;

public DataAccess()
{
scon = new SqlConnection();
scom = new SqlCommand();
sda = new SqlDataAdapter();
scom.Connection = scon;
sda.SelectCommand = scom;

}
public void connect()
{
scon.ConnectionString = "Server=(local);database=library;Integrated Security=true;";
scon.Open();



}
public void disconnect()
{
scon.Close();
}

public DataTable select(String Sql)
{
DataTable dbt = new DataTable();
scom.CommandText = Sql;
sda.Fill(dbt);
return dbt;

}



public void isrcom(string Sql)
{
scom.CommandText = Sql;

scom.ExecuteNonQuery();
}


}

}



و کد مربروط به دکمه ورود بعد از پر کردن user و password فرم لاگین توسط کاربر به صورت زیر است


private void button1_Click(object sender, EventArgs e)
{
DataAccess log = new DataAccess();
log.connect();
string Sql = "select * from user where username='{0}' and paswword='{1}'";
Sql = string.Format(Sql,
txtu.Text.Replace("'", "''"),
txtp.Text.Replace("'", "''"));
DataTable dt = new DataTable();
dt=log.select(Sql);
log.disconnect();

if (dt.Rows.Count > 0)
{
MessageBox.Show("success");
}

}


لطفا من رو راهنمایی بفرمایین که احتمالا کجای کدی که نوشتم ایراد داره که با خطای بالا مواجه میشم.
ممنون.
البته این رو هم بگم که database رو هم تو منوی view و زیر منوی server explorer هم فراخوانی کرده ام آیا ایراد میتواند از این قسمت باشد؟

baranbahari1320
جمعه 13 آذر 1394, 15:26 عصر
خودم پیداش کردم مشکلش از کجا بود ممنونم

baranbahari1320
جمعه 13 آذر 1394, 15:35 عصر
خودم پیداش کردم مشکلش از کجا بود ممنونم

hadi vafaii
جمعه 13 آذر 1394, 17:03 عصر
نمیدونم درست میگم یا نه اما وقتی شما اینو مینیویسی
string Sql = "select * from user where username='{0}' and paswword='{1}'";
تو username میاد uid رو چک میکنه و تو password میاد user رو چک میکنه
فکر کنم مشکل از اونه:متفکر:

محمد رضا فاتحی
شنبه 14 آذر 1394, 07:16 صبح
نمیدونم درست میگم یا نه اما وقتی شما اینو مینیویسی
string Sql = "select * from user where username='{0}' and paswword='{1}'";
تو username میاد uid رو چک میکنه و تو password میاد user رو چک میکنه
فکر کنم مشکل از اونه:متفکر:
سلام دوست عزیز...نه این اتفاق نمیافته این کوئری همه ستون های جدول user رو وقتی که Uid و password برابر مقادیر ورودی باشه رو بر می گردونه یه جورایی ترکیب شرط است



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

***
چون user کلمه کلیدی SQL است یا باید عبارت user رو داخل [] بزارید یا کلا نام جدول رو یه چیز دیگه در نظر بگیرید