PDA

View Full Version : درج اطلاعات در datagridview و ثبت آیدی آن در جدول sql



دنیای برنامه نویسی
جمعه 05 اردیبهشت 1393, 23:45 عصر
با سلام و خسته نباشید
برنامه ای در محیط سی شارپ نوشته ام و دیتابیس برنامه را با اس کیو ال و سه جدول ایجاد کرده ام در برنامه سی شارپ جهت نمایش اطلاعات جدول از گریدویو استفاده کردم چ جوری می توان برنامه را طوری کد داد که هنگام زدن دکمه درج مقدار تکس باکس ها در گرید ویو نمایش داده شود و آیدی ان مقدار تکس باکس ها درون جدول دیتابیس اس کیو ال ثبت شود ؟؟؟؟؟؟لطفا راهنمایی کنید .

mehrdad.ghorbaniyan
شنبه 06 اردیبهشت 1393, 10:07 صبح
با سلام و خسته نباشید
برنامه ای در محیط سی شارپ نوشته ام و دیتابیس برنامه را با اس کیو ال و سه جدول ایجاد کرده ام در برنامه سی شارپ جهت نمایش اطلاعات جدول از گریدویو استفاده کردم چ جوری می توان برنامه را طوری کد داد که هنگام زدن دکمه درج مقدار تکس باکس ها در گرید ویو نمایش داده شود و آیدی ان مقدار تکس باکس ها درون جدول دیتابیس اس کیو ال ثبت شود ؟؟؟؟؟؟لطفا راهنمایی کنید .

سلام.یه کلاس برات میذارم تو این کلاس عملیات insert,delete,update,select و تعداد رکوردها و ... را انجام میده
این کلاس :

class sql
{
SqlConnection con;
SqlCommand cmd;
SqlDataAdapter da;
public sql()
{

con = new SqlConnection();
cmd = new SqlCommand();
da = new SqlDataAdapter();
da.SelectCommand = cmd;
}
public void Connect()
{
if (con.State == ConnectionState.Open)
disConnect();
con.ConnectionString = @"Data Source=.;Initial Catalog=DB_basij;Integrated Security=True";
con.Open();
cmd.Connection = con;
}
public void disConnect()
{
con.Close();
}
public DataTable fill(string sql)
{
Connect();
cmd.CommandText = sql;
DataTable dt = new DataTable();
da.Fill(dt);
disConnect();
return dt;
}
public void Command(string sql)
{
Connect();
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
disConnect();
}
public int count(string sql)
{
Connect();
cmd.CommandText = sql;
int count = Convert.ToInt32(cmd.ExecuteScalar());
disConnect();
return count;
}
public SqlDataReader fill_info(string sql)
{
Connect();
cmd.CommandText = sql;
SqlDataReader dr = cmd.ExecuteReader();
//disConnect();
return dr;

}
}




اون بالا بجای کانکش استیرینگ از خودتو بذار.بعد کاری که تو میخوای بکنی با کد زیر :

اول یه نمونه از کلاست میسازی

sql sql=new sql();


بعد عملیات درج:


sql.sqlstr("insert into info(fname,lname,date_tavalod,date_shahadat,mahale _shahadat,num_parvande,tel,address,khososiyat) VALUES('"+txtfname.Text+"','"+txtlname.Text+"','"+txtdate_tavalod.Text+"','"+txtshahadat.Text+"','"+txtmahal_shahadat.Text+"','"+txtnum_parvande.Text+"','"+txttel.Text+"','"+txtaddress.Text+"','"+txtkhososiyat.Text+"')");


بعد هم رفرش کردن دیتا گرید :


DGW1.DataSource=sql.fill("SELECT * FROM info");


دیدی که خیلی راحت و با کد کم این کارو کردی.الان تو کل پروژت میتونی استفاده کنی