PDA

View Full Version : درج هرکودوم از فیلدای جدولم توی sql توی تک تک text boxهام



rayehe
چهارشنبه 01 مهر 1388, 00:02 صبح
تورو خدا کمکم کنید خیلی کارم گیره، هر چی bind اش میکنیم جواب نمیده، میخوام هرکودوم از فیلدای سطر موردنظرمو توی یک text box مجزا بریزم تا بعد بتونم ویرایششون کنم و دوباره توی جدولم ذخیره کنم:عصبانی++:

atryad
چهارشنبه 01 مهر 1388, 01:49 صبح
تورو خدا کمکم کنید خیلی کارم گیره، هر چی bind اش میکنیم جواب نمیده، میخوام هرکودوم از فیلدای سطر موردنظرمو توی یک text box مجزا بریزم تا بعد بتونم ویرایششون کنم و دوباره توی جدولم ذخیره کنم:عصبانی++:
دوست عزیز اگه اطلاعات توی datagrid هست با این میتونی به هر سلول او دست پیدا کنی

text1.Text = dataGridView1.Rows[dataGridView1.SelectedCells[0].RowIndex].Cells[0].Value.ToString();
کد خواندن از دیتا بیس و اتصال به دیتا گرید با یه مثال



using System.Data.SqlClient;


DataSet objDataSet = new DataSet();
SqlDataAdapter objDataAdapter = new SqlDataAdapter();
DataView objDataView = new DataView();
CurrencyManager objCurrencyManager;
string path = "Server=.;Database=code_meli;User ID=sa;Password=1234;Trusted_Connection=False";
string CommandText = "SELECT [code],[Family],[name],[father],[t_t],[sh],[Tel_home],[Moile],[code_posti],[addres] " +
" FROM main ";
SqlConnection objcon = new SqlConnection(path);
// SqlCommand objcom = new SqlCommand();
objDataAdapter1 = new SqlDataAdapter(CommandText, objcon);
objDataSet1 = new DataSet();
// Fill the DataSet object with data...
objDataAdapter1.Fill(objDataSet1, "main");
// Set the DataView object to the DataSet object...
objDataView1 = new DataView(objDataSet1.Tables["main"]);
objCurrencyManager1 = (CurrencyManager)(this.BindingContext[objDataView1]);
dataGridView2.DataSource = objDataSet1;
dataGridView2.DataMember = "main";
dataGridView2.Columns[0].HeaderText = "کد ملی";
// dataGridView2.Columns[0].Width = 100;
dataGridView2.Columns[1].HeaderText = " نام خانوادگی";
//dataGridView1.Columns[1].Width = 75;
dataGridView2.Columns[2].HeaderText = "نام";
//dataGridView1.Columns[2].Width = 100;
dataGridView2.Columns[3].HeaderText = "نام پدر";
//dataGridView1.Columns[3].Width = 75;
dataGridView2.Columns[4].HeaderText = "ت تولد";
//dataGridView1.Columns[4].Width = 75;
dataGridView2.Columns[6].HeaderText = "تلفن";
// dataGridView2.Columns[5].Width = 75;
dataGridView2.Columns[5].HeaderText = "ش شناسنامه";
// dataGridView2.Columns[6].Width =100;
dataGridView2.Columns[7].HeaderText = "همراه";
// dataGridView2.Columns[7].Width = 75;
dataGridView2.Columns[8].HeaderText = "کد پستی";
// dataGridView2.Columns[8].Width = 75;
dataGridView2.Columns[9].HeaderText = "آدرس";
// dataGridView2.Columns[9].Width = 280;
// dataGridView2.Columns[10].HeaderText = "تاریخ توقیف";
// dataGridView2.Columns[10].Width = 125;
dataGridView2.RowHeadersWidth = 50;این کد سلول موجود در سطر صفر و ستون صفر از datagrid1 رو توی text1 میریزه که البته سطر انتخابی رو
اگه هم که میخوای به طور مستقیم از دیتا بس sql توی یه تکس باکس بریزی که

SqlConnection objcon = new SqlConnection(path);
// SqlCommand objcom = new SqlCommand();
objDataAdapter = new SqlDataAdapter(CommandText, objcon);
objDataSet = new DataSet();
// Fill the DataSet object with data...
objDataAdapter.Fill(objDataSet, "main");
// Set the DataView object to the DataSet object...
objDataView = new DataView(objDataSet.Tables["main"]);
objCurrencyManager = (CurrencyManager)(this.BindingContext[objDataView]);

textBox1.DataBindings.Clear();

textBox11.DataBindings.Clear();
comboBox1.DataBindings.Clear();
maskedTextBox1.DataBindings.Clear();
maskedTextBox3.DataBindings.Clear();
maskedTextBox4.DataBindings.Clear();
textBox13.DataBindings.Clear();


textBox2.DataBindings.Clear();
textBox3.DataBindings.Clear();
textBox4.DataBindings.Clear();
// maskedTextBox1.DataBindings.Clear();
maskedTextBox2.DataBindings.Clear();
pictureBox1.DataBindings.Clear();
textBox7.DataBindings.Clear();
textBox8.DataBindings.Clear();
textBox9.DataBindings.Clear();
dataGridView1.DataSource = objDataSet;
dataGridView1.DataMember = "main";


textBox11.DataBindings.Add("Text", objDataView, "Tavalod_city");
comboBox1.DataBindings.Add("Text", objDataView, "jensyat");
maskedTextBox1.DataBindings.Add("Text", objDataView, "Moile");
maskedTextBox3.DataBindings.Add("Text", objDataView, "TEL_Home");
maskedTextBox4.DataBindings.Add("Text", objDataView, "Email");
textBox13.DataBindings.Add("Text", objDataView, "Addres");


textBox1.DataBindings.Add("Text", objDataView, "name");
textBox2.DataBindings.Add("Text", objDataView, "family");
textBox3.DataBindings.Add("Text", objDataView, "father");
textBox4.DataBindings.Add("Text", objDataView, "sh");
textBox7.DataBindings.Add("Text", objDataView, "t_t_d");
textBox8.DataBindings.Add("Text", objDataView, "t_t_m");
textBox9.DataBindings.Add("Text", objDataView, "t_t_y");
// maskedTextBox1.DataBindings.Add("Text", objDataView, "code");
maskedTextBox2.DataBindings.Add("Text", objDataView, "code_posti");توی این کد ها از نام های اختصاصی خودم استفاده کردم
code_meli نام دیتا بیس
main نام جدول و .............
با تشکر

alihassanabadi
چهارشنبه 01 مهر 1388, 07:18 صبح
تورو خدا کمکم کنید خیلی کارم گیره، هر چی bind اش میکنیم جواب نمیده، میخوام هرکودوم از فیلدای سطر موردنظرمو توی یک text box مجزا بریزم تا بعد بتونم ویرایششون کنم و دوباره توی جدولم ذخیره کنم:عصبانی++:

سلام
این کد بیند کردن فیلد به textbox هستش (ردیف صفرم از رکورد)


SqlDataAdapter adap = newSqlDataAdapter("select *from tblname", "Data Source=(local);Initial Catalog=databasename;Integrated Security=True");
DataSet dataset = newDataSet();
adap.Fill(dataset, "tbl_main");
DataTable tabel;
tabel = dataset.Tables["tbl_main"];
textBox1.Text = tabel.Rows[0]["name"].ToString();
textBox3.Text = tabel.Rows[0]["family"].ToString();
textBox2.Text = tabel.Rows[0]["tel"].ToString();
textBox4.Text = tabel.Rows[0]["address"].ToString();
textBox5.Text = tabel.Rows[0]["id"].ToString();

کد زیر کاملتره
شما میتونید رکورد ها رو داخل گرید ویو نمایش بدید بعد کاربر با کلیک بر روی هر رکورد بتونه فیلد های اونو داخل تکست های مربوطه ببینه
کد زیر رو در رویداد کلیک گرید ویو بنویس
این کد فیلدها رو داخل تکست ها نمایش میده وهمچنین به کاربر اجازه نمیده چند رکورد رو همزمان انتخاب کنه



privatevoid dataGridView1_Click(object sender, EventArgs e)
{
int i,j;
j = dataGridView1.Rows.Count;
i = dataGridView1.SelectedCells[0].RowIndex;
if (dataGridView1.SelectedCells.Count > 0 && i != j - 1)
{
this.Text = i.ToString();
textBox1.Text = dataGridView1.Rows[i].Cells[0].Value.ToString();
textBox2.Text = dataGridView1.Rows[i].Cells[1].Value.ToString();
textBox3.Text = dataGridView1.Rows[i].Cells[2].Value.ToString();
textBox4.Text = dataGridView1.Rows[i].Cells[3].Value.ToString();

}
else
{
MessageBox.Show("شما نمیتوانید تمام رکوردها را انتخاب کنید", "error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
}
}


دست هایی که کمک میکنند مقدس تر از لب هایی هستند که دعا میکنند.کوروش کبیر

Vahid_moghaddam
چهارشنبه 01 مهر 1388, 09:30 صبح
شما می تونید برای textbox ها از خاصیت DataBinidings استفاده کنید. فرض کنید dt دیتاسورس گرید شماست:


GridView.DataSource=dt;


فرض کنید شما لازم دارید فیلد FirstName در این گرید (و در DataSource) در TextBox نمایش داده بشه:



TextBox.DataBindings.Add( new Binding ("Text", dt, "FirstName"));


برای اطلاعات بیشتر به Help یا MSDN مراجعه کنید. در کد بالا Text خاصیتی از TextBox هست که باید Bind بشه.

Parham.D
چهارشنبه 01 مهر 1388, 10:12 صبح
از این کد هم میشه استفاده کرد.




//Declaration SqlConnection, SqlDataReader and StringCommand.

string StringCommand = "SELECT Fname, Lname, Age " + "FROM employee ";

SqlConnection connect = new SqlConnection("Data Source='(local)\\SQLExpress';Integrated Security=True;Pooling=False;Initial Catalog='LaboratoryDB'");

SqlDataReader DataReader;



protected void Page_Load(object sender, EventArgs e)

{

//Assign quantities SqlCommand.

SqlCommand Command = new SqlCommand(StringCommand, connect);



connect.Open();



//Read data with Command and assign them to the DataReader.

DataReader = Command.ExecuteReader();



if (DataReader.Read())

{

//Fill text boxes with DataReader.

tbFname.Text = DataReader["Fname"].ToString();

tbLname.Text = DataReader["Lname"].ToString();

tbAge.Text = DataReader["Age"].ToString();

}



DataReader.Close();

connect.Close();

}