View Full Version : مبتدی: نحوه استفاده از datareader در سی شارپ
golnar1992
یک شنبه 08 بهمن 1391, 01:16 صبح
سلام من میخوام داده های یه جدولم رو با استفاده از datareader بدست بیارم بعد با حلقه while مقدارهای جدولم رو با متن textbox م مقایسه کنم
لطفا کمکم کنید خیلی ضروریه و حیاتیه. ممنون
danialafshari
یک شنبه 08 بهمن 1391, 01:29 صبح
سلام دوست عزیز
خوش آمدید به سایت برنامه نویس
راه ساده تری هم برای این کار است ، حالا حتما باید با datareader و while باشه؟ اگه به جای while از کوئری استفاده کنید خیلی بهتره و اصولی.
به هر حال لینک زیر رو نگاه کنید:
لینک (http://itpeach.net/tuts/programming-tuts/c-sharp/c-step-by-stepdata-base-in-c/)
golnar1992
یک شنبه 08 بهمن 1391, 01:34 صبح
ممنون که جوابم و دادید من باید با این دستور بنویسم کد vb رو دارم نمیتونم به سی شارپ تبدیلش کنم ممکنه کمکم کنید؟
golnar1992
یک شنبه 08 بهمن 1391, 01:35 صبح
ممنون که جوابم و دادید من باید با این دستور بنویسم کد vb رو دارم نمیتونم به سی شارپ تبدیلش کنم ممکنه کمکم کنید؟
Dim r As SqlDataReader
con.Open()
cmdUsers.CommandText = "select UserName from T_Users"
r = cmdUsers.ExecuteReader
While r.Read
If r.Item("UserName") = TUserName.Text Then
MsgBox("نام کاربری وارد شده تکراری می باشد")
End If
End While
khokhan
یک شنبه 08 بهمن 1391, 01:35 صبح
مثلا چیزی شبیه این اگه اشتباه نکنم
SQL = "Select * from tblProduct";
//Create Connection/Command/MySQLDataReader
MySqlConnection myConnection = new MySqlConnection(cf.GetConnectionString());
myConnection.Open();
MySqlCommand myCommand = new MySqlCommand(SQL, myConnection);
MySqlDataReader myReader = myCommand.ExecuteReader();
myCommand.Dispose();
if (myReader.HasRows)
{
int i = 0;
// Always call Read before accessing data.
while (myReader.Read())
{
if (myReader["frProductid"].ToString() == "")
{
strInsertSQL = "Insert Into tblProduct_temp (Productid) Values('this istest') ";
MySqlCommand cmdInserttblProductFrance = new MySqlCommand(strInsertSQL, myConnection);
cmdInserttblProductFrance.ExecuteNonQuery(); //<=====THIS LINE THROWS "C# mySQL There is already an open DataReader associated with this Connection which must be closed first."
}
}
}
khokhan
یک شنبه 08 بهمن 1391, 01:38 صبح
SqlDataReader r;
con.Open();
cmdUsers.CommandText = "select UserName from T_Users";
r = cmdUsers.ExecuteReader;
while (r.Read)
{
if (r.Item("UserName") == TUserName.Text)
{
MessageBox.Show("نام کاربری وارد شده تکراری می باشد", " ", MessageBoxButtons.OK, MessageBoxIcon.Error);
flag = 1;
golnar1992
یک شنبه 08 بهمن 1391, 01:45 صبح
if (r.Item("UserName") == TUserName.Text) در سی شارپ r.item نمیاد بجاش کروشه استفاده میشه
golnar1992
یک شنبه 08 بهمن 1391, 01:47 صبح
مثل این ولی من نمیدونم دقیقش چیه
if (r["UserName"] == TUserName.Text)
khokhan
یک شنبه 08 بهمن 1391, 01:48 صبح
if (r.Item("UserName") == TUserName.Text) در سی شارپ r.item نمیاد بجاش کروشه استفاده میشه
شما به بزرگاری خودتون ببخشین :لبخند:
golnar1992
یک شنبه 08 بهمن 1391, 01:57 صبح
الان ازwhile (r.Read()) خطا میگیره باید به رشته تبدیل بشه؟
CsharpNevisi
جمعه 09 خرداد 1393, 13:24 عصر
الان ازwhile (r.Read()) خطا میگیره باید به رشته تبدیل بشه؟
خطا میگیره ؟؟؟؟؟
مطمئنی ؟؟؟؟
متن خطارو بزار ببینیم ... !!!!
danialafshari
جمعه 09 خرداد 1393, 22:40 عصر
خطا میگیره ؟؟؟؟؟
مطمئنی ؟؟؟؟
متن خطارو بزار ببینیم ... !!!!
سلام
تاریخ پست رو هم نگاه کنید
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.