PDA

View Full Version : نمایش اطلاعات sql در textbox



aleas2
پنج شنبه 02 خرداد 1392, 18:25 عصر
دوستان بنده یه جدول دارم بنام table_user میخوام


string cmd = "select * from table_user where user=' " + txtuser.Text + " ' and pas=' " + txtpas.Text + "'";

در بانک جستو کنم نتیجه خروجی از name , lname در تکست باکس نمایش بده چکار کنم؟
هرچی کد مینویسم خطا میده

veniz2008
پنج شنبه 02 خرداد 1392, 18:40 عصر
سلام.
اول اینکه سبک کوئری نوشتن شما سال هاست که منسوخ شده. از پارامترها استفاده کنید (هم امن تره و هم راحت تره).
دوم اینکه این کوئری به تنها کاری انجام نمیده. شما باید نتیجه این کوئری رو از sql دریافت کنید ( با هر شی ای که خودتون دوست دارید مثلا dataadapter یا sqldatareader) و ستون های مورد نظرتون رو از نتیجه برگشتی بکشید بیرون. چون select شما همه فیلدها رو برمیگردونه.
موفق باشید.

khokhan
پنج شنبه 02 خرداد 1392, 18:40 عصر
دوستان بنده یه جدول دارم بنام table_user میخوام


string cmd = "select * from table_user where user=' " + txtuser.Text + " ' and pas=' " + txtpas.Text + "'";

در بانک جستو کنم نتیجه خروجی از name , lname در تکست باکس نمایش بده چکار کنم؟
هرچی کد مینویسم خطا میده



SqlConnection con = new SqlConnection(Connection_String);
SqlCommand cmd = new SqlCommand(Command, Conn);
Conn.Open();
SqlDataReader dr = Comm1.ExecuteReader();
cmd.CommandText="select * from table_user where user=' " + txtuser.Text + " ' and pas=' " + txtpas.Text + "'";
dr=cmd.executereader();
textbox1.text=dr[0];
textbox2.text=dr[1];
Conn.close();

khokhan
پنج شنبه 02 خرداد 1392, 18:50 عصر
البته همچنانکه دوستمون فرمودند بهتره کوئری رو تغییر بدین و از پارامتر ها استفاده کنین

aleas2
پنج شنبه 02 خرداد 1392, 18:52 عصر
سلام.
اول اینکه سبک کوئری نوشتن شما سال هاست که منسوخ شده. از پارامترها استفاده کنید (هم امن تره و هم راحت تره).
دوم اینکه این کوئری به تنها کاری انجام نمیده. شما باید نتیجه این کوئری رو از sql دریافت کنید ( با هر شی ای که خودتون دوست دارید مثلا dataadapter یا sqldatareader) و ستون های مورد نظرتون رو از نتیجه برگشتی بکشید بیرون. چون select شما همه فیلدها رو برمیگردونه.
موفق باشید.

متوجه منظورتون نشدم اگر امکان دارد زیر دیپلم بگین تازه دارم یاد میگیرم !









SqlConnection con = new SqlConnection(Connection_String);
SqlCommand cmd = new SqlCommand(Command, Conn);
Conn.Open();
SqlDataReader dr = Comm1.ExecuteReader();
cmd.CommandText="select * from table_user where user=' " + txtuser.Text + " ' and pas=' " + txtpas.Text + "'";
dr=cmd.executereader();
textbox1.text=dr[0];
textbox2.text=dr[1];
Conn.close();


دوست عزیز کد شمارو به این صورت نوشتم خطا داد


string Connection_String = "Data Source = .; initial catalog = institute; integrated security = true;";
SqlConnection conn = new SqlConnection(Connection_String);
SqlCommand cmd = new SqlCommand(Command, Conn);
Conn.Open();
SqlDataReader dr = Comm1.ExecuteReader();
cmd.CommandText = "select * from table_user where user=' " + txtuser.Text + " ' and pas=' " + txtpas.Text + "'";
dr = cmd.executereader();
textbox1.text = dr[0];
textbox2.text = dr[1];
Conn.close();

aleas2
پنج شنبه 02 خرداد 1392, 18:55 عصر
البته همچنانکه دوستمون فرمودند بهتره کوئری رو تغییر بدین و از پارامتر ها استفاده کنین
والا من متوجه منظورشون نشدم
شما میتونین بگین روشی دوستون میگن به چه شکل هست؟

khokhan
پنج شنبه 02 خرداد 1392, 19:23 عصر
والا من متوجه منظورشون نشدم
شما میتونین بگین روشی دوستون میگن به چه شکل هست؟

یه چیزی شبیه این


string connectionString = "Data Source=.\\\\SQLEXPRESS;Initial Catalog=Kad;Integrated Security=True";
string sql = "SELECT * FROM table_user WHERE user = @param1 and pass = @param2";
SqlConnection connection = new SqlConnection(connectionString);
SqlDataAdapter dr = new SqlDataAdapter(sql, connection);
dataadapter.Parameters.AddWithValue("@param1", textBox1.Text);
dataadapter.Parameters.AddWithValue("@param2", textBox1.Text);
DataTable table = new DataTable("table_user");
dataadapter.Fill(table);
dataadapter.Dispose();
connection.Dispose();
textbox1.text = dr[0];
textbox2.text = dr[1];

khokhan
پنج شنبه 02 خرداد 1392, 19:29 عصر
دوست عزیز کد شمارو به این صورت نوشتم خطا داد

خطاش چی بود ؟

aleas2
پنج شنبه 02 خرداد 1392, 19:35 عصر
عزیز این کدی دوباره دادین باز مشکل داشت به همون روش select فکر کنم راحت تره همون select قبلی که نوشتین درستشو بنویسین ممنون میشم

aleas2
پنج شنبه 02 خرداد 1392, 19:36 عصر
خطاش چی بود ؟
خطاش اینه

SqlCommand cmd = new SqlCommand(Command, Conn);

khokhan
پنج شنبه 02 خرداد 1392, 19:53 عصر
خطاش اینه

SqlCommand cmd = new SqlCommand(Command, Conn);


اینطوری بنویس

البته کد ناقص بود اصلاحش کردم

String connect = (@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\kdbs.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
private void Form1_Load(object sender, EventArgs e)
{
int i = 0;
SqlConnection conn = new SqlConnection(connect);
conn.Open();
SqlDataAdapter da = new SqlDataAdapter("select * from table_user where user=' " + txtuser.Text + " ' and pas=' " + txtpas.Text + "'", conn);
SqlCommandBuilder builder = new SqlCommandBuilder(da);
DataSet ds = new DataSet();
da.Fill(ds, "table_user");
textBox2.Text = ds.Tables[0].Rows[i]["name"].ToString();
textBox3.Text = ds.Tables[0].Rows[i]["lname"].ToString();
}

raminfarivar
پنج شنبه 02 خرداد 1392, 20:18 عصر
با تشکر از اطلاعات خوبتون

aleas2
پنج شنبه 02 خرداد 1392, 20:40 عصر
داداش ممنون اگر امکان داره به روش
Select
معمولی هم بنویس
ممنون شرمنده داداش الان پشت سیستم نیستم این روش جدید اخری رو تا اخر شب تست میکنم ممنون مرسی

aleas2
پنج شنبه 02 خرداد 1392, 20:50 عصر
راستی میگم وقتی اطلاعات بانک در
Textbox
یا
GridView
نمایش داده میشه همون لحظه اطلاعات بانک حذف اضافه میکنم کدی بنام رفرش وجود نداره که اطلاعات بروز کنه ؟

khokhan
پنج شنبه 02 خرداد 1392, 21:44 عصر
راستی میگم وقتی اطلاعات بانک در
Textbox
یا
GridView
نمایش داده میشه همون لحظه اطلاعات بانک حذف اضافه میکنم کدی بنام رفرش وجود نداره که اطلاعات بروز کنه ؟

چرا هستش :لبخند::چشمک:

همون کد فراخوانی اطلاعات رو داخل یه متد قرار بده بعد هر وقت که خواستی طلاعات رو حذف یا اضافه کنی آخر دستوراتت متد رو فراخوانی کن

c_doost
پنج شنبه 02 خرداد 1392, 22:16 عصر
this.txt_name.DataBindings.Add("text", bs, "name");



شاید این کد کمکت کنه

aleas2
جمعه 03 خرداد 1392, 09:42 صبح
اینطوری بنویس

البته کد ناقص بود اصلاحش کردم

String connect = (@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\kdbs.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
private void Form1_Load(object sender, EventArgs e)
{
int i = 0;
SqlConnection conn = new SqlConnection(connect);
conn.Open();
SqlDataAdapter da = new SqlDataAdapter("select * from table_user where user=' " + txtuser.Text + " ' and pas=' " + txtpas.Text + "'", conn);
SqlCommandBuilder builder = new SqlCommandBuilder(da);
DataSet ds = new DataSet();
da.Fill(ds, "table_user");
textBox2.Text = ds.Tables[0].Rows[i]["name"].ToString();
textBox3.Text = ds.Tables[0].Rows[i]["lname"].ToString();
}

عزیز والا دگه کلافه شدیم این کدی هم دادین باز به

SqlConnection conn = new SqlConnection(connect);

خطا میده

ضمنا" برای دیتابیس بنده یوزیر و پسورد نگذاشتم لازمه حتما بذارم؟

عزیز اصلا دیتابیس هم الان کپی کردم تو پوشه db و گذاشتمش تو پوشه برنامه خواهشا این کد صحیحشو بنویس خودت یه بار چکش کن الان یک روز من درگیر همین کدم !

khokhan
جمعه 03 خرداد 1392, 10:16 صبح
عزیز والا دگه کلافه شدیم این کدی هم دادین باز به

SqlConnection conn = new SqlConnection(connect);

خطا میده

ضمنا" برای دیتابیس بنده یوزیر و پسورد نگذاشتم لازمه حتما بذارم؟
اون رشته ، اتصال منظورم :

String connect = (@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\kdbs.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
بایستی با بانک مال خودتون ست کنین :لبخند: همینطوری الا بختکی که نمی شه

aleas2
جمعه 03 خرداد 1392, 10:23 صبح
اون رشته ، اتصال منظورم :

String connect = (@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\kdbs.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
بایستی با بانک مال خودتون ست کنین :لبخند: همینطوری الا بختکی که نمی شه
عزیز انجام دادم به اینصورت


String connect = (@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\institute.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");

ولی موفق نشدم
این رشته میشه تغییر داد که من بانک هم توپوشه db بذارم و این پوشه هم تو پوشه برنامه

khokhan
جمعه 03 خرداد 1392, 11:15 صبح
عزیز انجام دادم به اینصورت


String connect = (@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\institute.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");

ولی موفق نشدم
این رشته میشه تغییر داد که من بانک هم توپوشه db بذارم و این پوشه هم تو پوشه برنامه

خوب مهم نیست ببین تو این نمونه ای که براتون می دم هم فایل دیتابیس داخل پوشه برنامه هست هم فیلدهای بانک توی تکست باس ها ریخته می شه و هم میتونی با دکمه های جلو وعقب فیلدها رو پیمایش کنی خلاصه همه چی مهیا شده تا شما زیپرو باز کنی و ده برو که رفتیم :لبخند:هرجوری هم چه خواستی میتونی تغییرش بدی

aleas2
جمعه 03 خرداد 1392, 11:31 صبح
ممنون با Visual Studio نسخه چند نوشتی؟

104607

khokhan
جمعه 03 خرداد 1392, 12:25 عصر
ممنون با Visual Studio نسخه چند نوشتی؟

104607



vs2010 and sql2008. r2:لبخند::لبخند::متفکر::متفکر: :متفکر: I'm sorry you Should Upgread

بانک sql

M.S.Abbasi
یک شنبه 20 مرداد 1392, 18:32 عصر
با Visual Studio 2008 امتحان کن جواب میده.

m.sunset
دوشنبه 21 مرداد 1392, 18:38 عصر
سلام
من از vs2012 and sql2012 استفاده میکنم علت این خطا چیه؟

108973

khokhan
جمعه 25 مرداد 1392, 08:14 صبح
سلام
من از vs2012 and sql2012 استفاده میکنم علت این خطا چیه؟

108973
رشته اتصال رو عوض کنین اگه یه اتصال از طریق ویزارد انجام بدین رشته اتصال مطلوب به دست می آد

miladmki
دوشنبه 06 اردیبهشت 1395, 15:58 عصر
با سلام و خسته نباشید...
چطور میشه محتویات نتیجه دستور Select را درون یک TextBox ریخت ؟

sg.programmer
دوشنبه 06 اردیبهشت 1395, 16:11 عصر
خروجیت به چه شکلی هست (جدول یا یک فیلد و یا یک رکورد)