PDA

View Full Version : سوال: جستجو در سی شارپ؟



vB.N3T
شنبه 26 آذر 1390, 18:26 عصر
سلام
یه جدول دارم در دیتا بیس به نام
tbl_sabt_film
که اسم و مشخصات فیلم توش هست
یه فرم ساختم برای سرچ فیلم بر اساس ایدی
ایدی رو بگیره و اطلاعات رو نشون بده
کد ها مو قرار میدم
اما ارور دارم
cannot implicitly convert type 'int' to 'syste,.data.sqlclinet.sqldatareader'


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Data.Sql;
using System.Data.SqlTypes;
namespace clup
{
public partial class serch_film : Form
{
public serch_film()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
{
int a;

SqlConnection con1 = new SqlConnection();
con1.ConnectionString = "server=localhost;database=ali;integrated security=true";
con1.Open();
SqlCommand com1 = new SqlCommand();
com1.Connection = con1;
com1.Parameters.AddWithValue("@id", textBox1.Text);
com1.CommandText = "select name from tbl_sabt_film whare id=@id";
SqlDataReader red = com1.ExecuteNonQuery();
red.Read();
textBox2.Text = red["name"].ToString();
red.Close();

}
}
}
}

gilas1368
شنبه 26 آذر 1390, 19:01 عصر
از این کدا استفاده کن

sqlconnection con=new sqlconnection("آدرس پایگاه داده");
sqlcommand com=new sqlcommand("Select * from tbl_sabt_film where id='"+textbox1.text+"'",con);
sqldataadapte da=new sqldataadapter(com);
datatable dt=new datatable();
con.open();
da.fill(dt);
datagridveiw.datasource=dt;
con.close();

vB.N3T
شنبه 26 آذر 1390, 19:05 عصر
اقا من میخوام اطلاعاتم رو روی تکس باکس یا لیبیل نشون بده این کد به datagridveiw وصل میشه؟؟

NasrEsk
شنبه 26 آذر 1390, 19:14 عصر
سلام
تو خط SqlDataReader red = com1.ExecuteNonQuery();
بايد اين كد رو بذاري
SqlDataReader red = com1.ExecuteReader();

gilas1368
شنبه 26 آذر 1390, 19:17 عصر
اول کد Datatable رو پاک و اینو جاش بنویس

DataSet ds=new DataSet();
حالا کد da.fill رو به کد زیر تغییر بده

da.fill(ds,"tbl_sabt_film");
خب کد گرید رو پاک کن و این کدا رو جایگزینش کن

textbox1.databinding.clear();
textbox1.databinding.add(new binding("Text",ds,"tbl_sabt_film.id"));
برای لیبل هم همین طوریه

reza_mostafavi63
شنبه 26 آذر 1390, 19:19 عصر
كدوم خط رو خطا ميده .؟

vB.N3T
شنبه 26 آذر 1390, 19:43 عصر
سلام
تو خط SqlDataReader red = com1.ExecuteNonQuery();
بايد اين كد رو بذاري
SqlDataReader red = com1.ExecuteReader();

این کد ها که هر دو یکی هست

sobaisobai
شنبه 26 آذر 1390, 19:46 عصر
این کد ها که هر دو یکی هست
ExecuteNonQuery
با
ExecuteReader
یکیه؟

vB.N3T
شنبه 26 آذر 1390, 19:46 عصر
بچه ها من مشکل تو دلیت کردن هم دارم :ناراحت:
یه فرم دارم یه تکس باکس روشه و یه کامند که این دستورات توشه

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace clup
{
public partial class delet_film : Form
{
public delet_film()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{

{
SqlConnection con1 = new SqlConnection();
con1.ConnectionString = "server=localhost;database=ali;integrated security=true";
con1.Open();
SqlCommand com1 = new SqlCommand();
com1.Connection = con1;

com1.Parameters.AddWithValue("@id", textBox1.Text);




com1.CommandText = "delet from tbl_sabt_film where id=@id";
MessageBox.Show("حذف اطلاعات با موفقیت انجام شد", "حذف اطلاعات");
com1.ExecuteNonQuery();

}

}
}
}


ایا این کدا دسته ؟ چرا اجرا نمیشه؟

vB.N3T
شنبه 26 آذر 1390, 19:47 عصر
برای سوال اول سرچ کردن....میشه یه ایدی رو با تکس باکس بگیره و بره سطر های اون ایدی رو تو دیتا گرید ویو یا هر چیز دیگه نشون بده

sobaisobai
شنبه 26 آذر 1390, 19:51 عصر
بچه ها من مشکل تو دلیت کردن هم دارم :ناراحت:
یه فرم دارم یه تکس باکس روشه و یه کامند که این دستورات توشه

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace clup
{
public partial class delet_film : Form
{
public delet_film()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{

{
SqlConnection con1 = new SqlConnection();
con1.ConnectionString = "server=localhost;database=ali;integrated security=true";
con1.Open();
SqlCommand com1 = new SqlCommand();
com1.Connection = con1;

com1.Parameters.AddWithValue("@id", textBox1.Text);




com1.CommandText = "delet from tbl_sabt_film where id=@id";
MessageBox.Show("حذف اطلاعات با موفقیت انجام شد", "حذف اطلاعات");
com1.ExecuteNonQuery();

}

}
}
}


ایا این کدا دسته ؟ چرا اجرا نمیشه؟
ارورش چیه؟

vB.N3T
شنبه 26 آذر 1390, 20:24 عصر
طبق عکس
البته تیبیل ثبت فیلم میخوام حذف کنه تو عکس اشتباه تیبیل مشتری7933579336 عکس گرفتم

sobaisobai
شنبه 26 آذر 1390, 20:38 عصر
طبق عکس
البته تیبیل ثبت فیلم میخوام حذف کنه تو عکس اشتباه تیبیل مشتری7933579336 عکس گرفتم
Delet
رو به این
Delete
تغییر بده
مهندس!!!!!!!

vB.N3T
شنبه 26 آذر 1390, 20:57 عصر
بله ممنون
مرسییییی
یه دیتا گرید ویو کذاشتم وقتی به دیتا بیس وصله و اطلاعات توشه وقتی اطلاعات پاک میکنم
یه کامند گذاشتم که دیتا گرید ویو رو رفرش بده با این کد
dataGridView1.Refresh();
اما رفرش نمیده

gilas1368
شنبه 26 آذر 1390, 22:20 عصر
می تونید بعد از انجام عمل مورد نظرتون تمام اطلاعات رو دوباره با یه SELECT واکشی کنین و داخل گرید دوباره نمایش بدین

vB.N3T
یک شنبه 27 آذر 1390, 01:42 صبح
یعنی رفرش مستقیم نداره؟
میشه در مورد این که کفتی راهنمایی کنی من سی شارپ کار نیستم

az.heidarzadeh
یک شنبه 27 آذر 1390, 09:08 صبح
سلام


بچه ها من مشکل تو دلیت کردن هم دارم

اگه کد Delete همونیه که نوشتی خب اشتباهه delet نه delete اگه درست نشد بگو پیغام خطاش چیه


برای سوال اول سرچ کردن....میشه یه ایدی رو با تکس باکس بگیره و بره سطر های اون ایدی رو تو دیتا گرید ویو یا هر چیز دیگه نشون بده

ما برای یک ID سطرهای مختلف نداریم البته اگه منظورتون از ID کلید جدوله ما فیلدهای مختلف داریم ولی درهرصورت بله هیچ فرقی نمیکنه که تو چی نشونش بدیم این دست خودمونه...

vB.N3T
یک شنبه 27 آذر 1390, 17:16 عصر
کد درست شد یه تکس باکس هست که ایدی رو میگیره و مشخصات اون فیلم با اون ایدی رو حذف میکنه
یه دیتا گرید ویو هم داریم که توش فیلم ها نمایش داده میشه
حالا میخوام وقتی یه فیلم حذف کردیم دیتا کریو ویر یه رفرش بخوره و اپدیت بشه

az.heidarzadeh
پنج شنبه 01 دی 1390, 12:51 عصر
کد درست شد یه تکس باکس هست که ایدی رو میگیره و مشخصات اون فیلم با اون ایدی رو حذف میکنه
یه دیتا گرید ویو هم داریم که توش فیلم ها نمایش داده میشه
حالا میخوام وقتی یه فیلم حذف کردیم دیتا کریو ویر یه رفرش بخوره و اپدیت بشه
خب اگه کد delete رو درست بنویسی حذفت انجام میشه میمونه update کردن گرید که من واقعا نمیدونم چرا خیلی ها با این مشکل دارن، کاری که باید انجام بدی اینه که یه تابع بنویسی تا گرید رو برات از دیتابیس پرکنه به این ترتیب با لود شدن فرم اون تابع رو صدا میزنی وقتی insert انجام دادی باز اون تابع رو صدا میزنی برای update و delete هم همینطور...

vB.N3T
جمعه 02 دی 1390, 17:47 عصر
ممنون ما اگه بلد بودیم این همه سوال نمیکردم باز ممنون