PDA

View Full Version : ذخيره اطلاعات در sql



behroz1387
دوشنبه 09 آذر 1388, 21:16 عصر
دوستان عزيز با سلام
من در يك فرم دو سطر دارم كه مي خواهم همزمان اين دو سطر كه هر كدام شامل 3 تكست باكس هستند را در جدول ذخيره كنم اطلاعات درون اين تكست باكسها متفاوت است اما موقعي كه در جدول ثبت مي شود فقط اطلاعات سه تكست باكس اول تكرار مي شود
خواهش مي كنم اگه امكان داره كمك كنيد
اينم كدي كه نوشتم
[public partial class نفت_خام_1024 : Form
{
SqlConnection cnn = new SqlConnection();
SqlDataAdapter sda = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand();
DataSet ds = new DataSet();
ArrayList arr = new ArrayList();
private void Connect()
{
cnn.ConnectionString = "Data Source=localhost;initial catalog=naff ;User ID = sa ;Password=ara;";
}

public نفت_خام_1024()
{
InitializeComponent();
}
private void Insert(SqlCommand cmd)
{
Connect();
cmd.Connection = cnn;
cnn.Open();
cmd.ExecuteNonQuery();
cnn.Close();
}]
[ private void button2_Click(object sender, EventArgs e)
arr.Add(textbox1.Text);
arr.Add(textbox2.Text);
arr.Add(textbox3.Text);
arr.Add(textbox4.Text);
arr.Add(textbox5.Text);
arr.Add(textbox6.Text);

cmd.CommandText = "insert into naftt(s,m,a)Values(@s,@m,@a)";
cmd.Parameters.Clear();
cmd.Parameters.Add("@s", SqlDbType.Decimal).Value = decimal.Parse(arr[0].ToString());
cmd.Parameters.Add("@m", SqlDbType.Decimal).Value = decimal.Parse(arr[1].ToString());
cmd.Parameters.Add("@a", SqlDbType.Decimal).Value = decimal.Parse(arr[2].ToString());

cmd.Parameters.Add("@s", SqlDbType.Decimal).Value = decimal.Parse(arr[3].ToString());
cmd.Parameters.Add("@m", SqlDbType.Decimal).Value = decimal.Parse(arr[4].ToString());
cmd.Parameters.Add("@a", SqlDbType.Decimal).Value = decimal.Parse(arr[5].ToString());

Insert(cmd);]

behroz1387
دوشنبه 09 آذر 1388, 22:26 عصر
دوستان منتظر جواب هستم
باز هم ممنون

sky_in_iran
سه شنبه 10 آذر 1388, 08:08 صبح
سلام دوست عزيز شما ميخواي اطلاعات كه در 6 عدد textbox هست و تو بانك بريزي خوب پس بايد به تعداد 6 عدد فيلد داشته باشي اين يك نكته بعدش شما داري پارامتري اطلاعات و ميريزي دقت كن شما يك بار 3 پارامترتو مقدار دهي كردي و هنوز در بانك ثبت نكردي باز يه سري ديگه مقدار دادي اگه ميخواي 3 تا ثبت كني به عنوان يك ركورد بعدش 3 تاي بعديو بريزي تو بانك بايد يك عمل ثبت در بانكت انجام بدي و بعد باز 3 تاي ديگرو نميشود با يك بار انجام ثبت در بانك و در يك جدول دو ركورد توليد كرد اميد وارم تونستباشم كمكت كنم اگر توضيحات كافي نبود صورت مسئله رو بگو تا يك نمونه من يا اساتيد محترم براتون بزارند .
موفق و پيروز باشيد

behroz1387
سه شنبه 10 آذر 1388, 09:59 صبح
دوست عزيزم من مي خوام كه اين 6تا تكست باكس را در جدولي بريزم كه 3 فيلد دارد و با ريختن اين اطلاعات دو سطر متفاوت ايجاد بشه
ممنون

sky_in_iran
سه شنبه 10 آذر 1388, 12:36 عصر
دوست عزيز همونجور كه گفته بودم شما 2بار بايد عمل درج و انجام بدي



cmd.CommandText = "insert into naftt(s,m,a)Values(@s,@m,@a)";
cmd.Parameters.Clear();
cmd.Parameters.Add("@s", SqlDbType.Decimal).Value = decimal.Parse(arr[0].ToString());
cmd.Parameters.Add("@m", SqlDbType.Decimal).Value = decimal.Parse(arr[1].ToString());
cmd.Parameters.Add("@a", SqlDbType.Decimal).Value = decimal.Parse(arr[2].ToString());
Insert(cmd);

cmd.CommandText = "insert into naftt(s,m,a)Values(@s,@m,@a)";
cmd.Parameters.Clear();
cmd.Parameters.Add("@s", SqlDbType.Decimal).Value = decimal.Parse(arr[3].ToString());
cmd.Parameters.Add("@m", SqlDbType.Decimal).Value = decimal.Parse(arr[4].ToString());
cmd.Parameters.Add("@a", SqlDbType.Decimal).Value = decimal.Parse(arr[5].ToString());
Insert(cmd);]



اگر باز كارت را نيفتاد يا مشكلي بود بفرماييد يك نمونه من يا اساتيد براتون بزاريم