PDA

View Full Version : سوال: سوال در رابطه با دیتابیس اکسس در C#



hrs.1989
دوشنبه 15 فروردین 1390, 10:16 صبح
با سلام نوع داده text در c# چیست ؟؟؟؟
یعنی در دیتابیس من چند فیلدم از نوع text هست وقتی تو C# میخوام مقدار دهی کنم error می دهد ؟



if (dataGridView1.RowCount > 0)
{
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = ole.con;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "insert into [Daryafti]([date],[id],[name],[regard],[rial],[sarresid],[serial],[namebank],[nameshobe],[idhesab],[sharh],[type]) values(@date,@id,@nm,@re,@rial,@sar,@ser,@nmbank, @nmshobe,@idhesab,@sharh,@type)";
cmd.Parameters.Add("@date", tdate1.Text.ToString());//0
cmd.Parameters.Add("@id", tId.Text.ToString());//1
cmd.Parameters.Add("@nm", tname.Text.ToString());//2
cmd.Parameters.Add("@re", tRegard.Text.ToString());//3
cmd.Parameters.Add("@rial", OleDbType.Decimal);//4
cmd.Parameters.Add("@sar", OleDbType.Integer);//5
cmd.Parameters.Add("@ser", OleDbType.VarChar);//6
cmd.Parameters.Add("@nmbank", OleDbType.VarChar);//7
cmd.Parameters.Add("@nmshobe", OleDbType.VarChar);//8
cmd.Parameters.Add("@idhesab", OleDbType.VarChar);//9
cmd.Parameters.Add("@sharh", OleDbType.VarChar);//10
cmd.Parameters.Add("@type", OleDbType.VarChar);//11

for (int i = 0; i < dataGridView1.RowCount; i++)
{


cmd.Parameters[4].Value =Convert.ToDecimal( dataGridView1.Rows[i].Cells[1].Value);//rial
cmd.Parameters[5].Value =Convert.ToInt32( dataGridView1.Rows[i].Cells[2].Value);//sar
خطا cmd.Parameters[6].Value =dataGridView1.Rows[i].Cells[3].Value.ToString();//ser
cmd.Parameters[7].Value = dataGridView1.Rows[i].Cells[4].Value.ToString();//nmb
cmd.Parameters[8].Value = dataGridView1.Rows[i].Cells[5].Value.ToString();//nmsh
cmd.Parameters[9].Value = dataGridView1.Rows[i].Cells[6].Value.ToString();//nmsh
cmd.Parameters[10].Value = dataGridView1.Rows[i].Cells[0].Value.ToString();//sharh
cmd.Parameters[11].Value = dataGridView1.Rows[i].Cells[7].Value.ToString();//type

ole.con.Open();
cmd.ExecuteNonQuery();
ole.con.Close();
}

}

m.soleimani
دوشنبه 15 فروردین 1390, 10:20 صبح
با سلام نوع داده text در c# چیست ؟؟؟؟
یعنی در دیتابیس من چند فیلدم از نوع text هست وقتی تو C# میخوام مقدار دهی کنم error می دهد ؟



if (dataGridView1.RowCount > 0)


{


OleDbCommand cmd = new OleDbCommand();


cmd.Connection = ole.con;


cmd.CommandType = CommandType.Text;


cmd.CommandText = "insert into [Daryafti]([date],[id],[name],[regard],[rial],[sarresid],[serial],[namebank],[nameshobe],[idhesab],[sharh],[type]) values(@date,@id,@nm,@re,@rial,@sar,@ser,@nmbank, @nmshobe,@idhesab,@sharh,@type)";


cmd.Parameters.Add("@date", tdate1.Text.ToString());//0


cmd.Parameters.Add("@id", tId.Text.ToString());//1


cmd.Parameters.Add("@nm", tname.Text.ToString());//2


cmd.Parameters.Add("@re", tRegard.Text.ToString());//3


cmd.Parameters.Add("@rial", OleDbType.Decimal);//4


cmd.Parameters.Add("@sar", OleDbType.Integer);//5


cmd.Parameters.Add("@ser", OleDbType.VarChar);//6


cmd.Parameters.Add("@nmbank", OleDbType.VarChar);//7


cmd.Parameters.Add("@nmshobe", OleDbType.VarChar);//8


cmd.Parameters.Add("@idhesab", OleDbType.VarChar);//9


cmd.Parameters.Add("@sharh", OleDbType.VarChar);//10


cmd.Parameters.Add("@type", OleDbType.VarChar);//11




for (int i = 0; i < dataGridView1.RowCount; i++)


{





cmd.Parameters[4].Value =Convert.ToDecimal( dataGridView1.Rows[i].Cells[1].Value);//rial


cmd.Parameters[5].Value =Convert.ToInt32( dataGridView1.Rows[i].Cells[2].Value);//sar


خطا cmd.Parameters[6].Value =dataGridView1.Rows[i].Cells[3].Value.ToString());//ser


cmd.Parameters[7].Value = dataGridView1.Rows[i].Cells[4].Value.ToString();//nmb


cmd.Parameters[8].Value = dataGridView1.Rows[i].Cells[5].Value.ToString();//nmsh


cmd.Parameters[9].Value = dataGridView1.Rows[i].Cells[6].Value.ToString();//nmsh


cmd.Parameters[10].Value = dataGridView1.Rows[i].Cells[0].Value.ToString();//sharh


cmd.Parameters[11].Value = dataGridView1.Rows[i].Cells[7].Value.ToString();//type




ole.con.Open();


cmd.ExecuteNonQuery();


ole.con.Close();


}




}


برای انواع رشته‌ای در سی‌شارپ از string استفاده می‌شه
خطا cmd.Parameters[6].Value =dataGridView1.Rows[i].Cells[3].Value.ToString());//ser
این‌جا هم یه پرانتز اون آخر اضافه گذاشتین
./

hrs.1989
دوشنبه 15 فروردین 1390, 10:42 صبح
آقا اون پرانتز اشتباه نوشتاری بود اونو ولش کنید این error رو میده
Object reference not set to an instance of an object.