将记录插入数据库 [英] Insert records to database

查看:71
本文介绍了将记录插入数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

hi!



我将大量数据插入到我的数据库中。它抛出此错误:对象引用未设置为对象的实例。这是我用于插入数据的代码: -



private
void saveToolStripButton_Click( object sender,
EventArgs e)


< p style ="margin-bottom:0in; margin-bottom:.0001pt; line-height:normal; text-autospace:none">
<跨度>&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
{



           
尝试



     &NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
{



 



   &NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
使用(cmd = new
SqlCommand " Insert Into PropertyAssign(Desposition,DateIssued,PropertyID,Description,ModelNbr,SerialNbr,TagNbr,IssCondition,EmpID,eName,Hired ,empStatus)值(@desposition,@ IsDate,
@AssetID,@ description,@ model,@ serial,@ tag,@ state,@ EID,@ name,@ HDate,@ Status)"
,con))



       
             for int i = 0; i< dataGridView1.Rows.Count; i ++)



<跨度>&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
{



            &NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
// cmd.Parameters.Clear();



&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
cmd.Parameters.Add( new
SqlParameter
" @desposition" ,System.Data。 SqlDbType .NVarChar,21,
"Desposition"));



      ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
cmd.Parameters.Add( new
SqlParameter
" @ IsDate" ,System.Data。 SqlDbType .Date,3,
" DateIssued" ));



      ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
cmd.Parameters.Add( new
SqlParameter
" @ AssetID" ,System.Data。 SqlDbType .NVarChar,16,
" PropertyID" ));



      ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
cmd.Parameters.Add( new
SqlParameter
" @ description" ,System.Data。 SqlDbType .NVarChar,100,
" Description" ));



      ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
cmd.Parameters.Add( new
SqlParameter
" @ model" ,System.Data。 SqlDbType .NVarChar,21,
" ModelNbr" ));



      ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
cmd.Parameters.Add( new
SqlParameter
" @ serial"
SqlDbType
.NVarChar,21," SerialNbr" ));



        ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
cmd.Parameters.Add( new
SqlParameter
" @ tag"
SqlDbType
.NVarChar,21," TagNbr" ));



        ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
cmd.Parameters.Add( new
SqlParameter
" @ state" ,System.Data。 SqlDbType .NVarChar,21,
" IssCondition" ));



      ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
cmd.Parameters.Add( new
SqlParameter
" @ EID" ,System.Data。 SqlDbType .NVarChar,16,
" EmpID" ));



      ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
cmd.Parameters.Add( new
SqlParameter
" @ Name" ,System.Data。 SqlDbType .NVarChar,50,
" eName" ));



      ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
cmd.Parameters.Add( new
SqlParameter
" @@ HDate" ,System.Data。 SqlDbType .Date,3,
" Hired" ));



      ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
cmd.Parameters.Add( new
SqlParameter
" @ Status" ,System.Data。 SqlDbType .NVarChar,21,
" empStatus" ));



 



<跨度>&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP ;&NBSP;&NBSP;
cmd.Parameters [" @ desposition" ]。Value = dataGridView1.Rows [i] .Cells [" Column1" ]。Value.ToString();



      ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
cmd.Parameters [" @ IsDate" ]。Value = dataGridView1.Rows [i] .Cells [" Column2" ]。Value.ToString();



      ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
cmd.Parameters [" @ AssetID" ]。Value = dataGridView1.Rows [i] .Cells [" Column3" ]。Value.ToString();



      ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
cmd.Parameters [" @ description" ]。Value = dataGridView1.Rows [i] .Cells [" Column4" ]。Value.ToString();



      ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
cmd.Parameters [" @ model" ]。Value = dataGridView1.Rows [i] .Cells [" Column5" ]。Value.ToString();



      ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
cmd.Parameters [" @ serial" ]。Value = dataGridView1.Rows [i] .Cells [" Column6" ]。Value.ToString();



      ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
           cmd.Parameters [ " @ tag" ]。Value = dataGridView1.Rows [i] .Cells [" Column7" ]。Value.ToString();



                 &NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
cmd.Parameters [" @ state" ]。Value = dataGridView1.Rows [i] .Cells [" Column8" ]。Value.ToString();



      ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
cmd.Parameters [" @ EID" ]。Value = maskedEmpIDTextBox.Text;



<跨度>&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP ;&NBSP;&NBSP;
cmd.Parameters [" @ Name" ]。Value = EmpNameTextBox.Text;



<跨度>&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP ;&NBSP;&NBSP;
cmd.Parameters [" @ HDate" ]。Value = HiredateTimePicker.Value.ToString(" dd / MM / yyyy" );



        &NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
cmd.Parameters [" @ Status" ]。Value = cmbStatus.Text;



 



<跨度>&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
con.Open();



          ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
cmd.ExecuteNonQuery();



          ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
con.Close();



          ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
}



           
}



<跨度>&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
catch 例外 ex)



           
{



            &NBSP;&NBSP;&NBSP;&NBSP;
MessageBox .Show(ex.Message);



&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
}



<跨度>&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
最后



     &NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
{



<跨度>&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP;&NBSP;
if (con.State ==
ConnectionState
。打开)



<跨度风格= "字体大小:9.5pt;字型家族:索拉"> <跨度>&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP ;
{



            &NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
con.Close();



          ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
}



           
}



       
}



请给我你的建议,以便解决我的问题。提前谢谢..

解决方案

你好, 


你的任务在哪里连接? 


con.Open() ;


---- -


添加 参数 在第二个循环中,肯定会导致错误。


-----


连接你可以在开始循环之前打开()和关闭() - 之后。



hi!

I am inserting in bulk of datas to my database. It throws this error: Object reference not set to an instance of object. Here's my code i used to insert data:-

private void saveToolStripButton_Click(object sender, EventArgs e)

        {

            try

            {

 

                using (cmd = new SqlCommand("Insert Into PropertyAssign(Desposition, DateIssued, PropertyID, Description, ModelNbr, SerialNbr, TagNbr, IssCondition, EmpID, eName, Hired, empStatus)Values(@desposition, @IsDate, @AssetID, @description, @model, @serial, @tag, @state, @EID, @Name, @HDate, @Status)", con))

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

                    {

                        //cmd.Parameters.Clear();

                        cmd.Parameters.Add(new SqlParameter("@desposition", System.Data.SqlDbType.NVarChar, 21, "Desposition"));

                        cmd.Parameters.Add(new SqlParameter("@IsDate", System.Data.SqlDbType.Date,3, "DateIssued"));

                        cmd.Parameters.Add(new SqlParameter("@AssetID", System.Data.SqlDbType.NVarChar, 16, "PropertyID"));

                        cmd.Parameters.Add(new SqlParameter("@description", System.Data.SqlDbType.NVarChar, 100, "Description"));

                        cmd.Parameters.Add(new SqlParameter("@model", System.Data.SqlDbType.NVarChar, 21, "ModelNbr"));

                        cmd.Parameters.Add(new SqlParameter("@serial", SqlDbType.NVarChar, 21, "SerialNbr"));

                        cmd.Parameters.Add(new SqlParameter("@tag", SqlDbType.NVarChar, 21, "TagNbr"));

                        cmd.Parameters.Add(new SqlParameter("@state", System.Data.SqlDbType.NVarChar, 21, "IssCondition"));

                        cmd.Parameters.Add(new SqlParameter("@EID", System.Data.SqlDbType.NVarChar, 16, "EmpID"));

                        cmd.Parameters.Add(new SqlParameter("@Name", System.Data.SqlDbType.NVarChar, 50, "eName"));

                        cmd.Parameters.Add(new SqlParameter("@HDate", System.Data.SqlDbType.Date, 3, "Hired"));

                        cmd.Parameters.Add(new SqlParameter("@Status", System.Data.SqlDbType.NVarChar, 21, "empStatus"));

 

                        cmd.Parameters["@desposition"].Value = dataGridView1.Rows[i].Cells["Column1"].Value.ToString();

                        cmd.Parameters["@IsDate"].Value = dataGridView1.Rows[i].Cells["Column2"].Value.ToString();

                        cmd.Parameters["@AssetID"].Value = dataGridView1.Rows[i].Cells["Column3"].Value.ToString();

                        cmd.Parameters["@description"].Value = dataGridView1.Rows[i].Cells["Column4"].Value.ToString();

                        cmd.Parameters["@model"].Value = dataGridView1.Rows[i].Cells["Column5"].Value.ToString();

                        cmd.Parameters["@serial"].Value = dataGridView1.Rows[i].Cells["Column6"].Value.ToString();

                        cmd.Parameters["@tag"].Value = dataGridView1.Rows[i].Cells["Column7"].Value.ToString();

                        cmd.Parameters["@state"].Value = dataGridView1.Rows[i].Cells["Column8"].Value.ToString();

                        cmd.Parameters["@EID"].Value = maskedEmpIDTextBox.Text;

                        cmd.Parameters["@Name"].Value = EmpNameTextBox.Text;

                        cmd.Parameters["@HDate"].Value = HiredateTimePicker.Value.ToString("dd/MM/yyyy");

                        cmd.Parameters["@Status"].Value = cmbStatus.Text;

 

                        con.Open();

                        cmd.ExecuteNonQuery();

                        con.Close();

                }

            }

            catch(Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            finally

            {

                if (con.State == ConnectionState.Open)

                {

                    con.Close();

                }

            }

        }

please give me your suggestion so as to resolve my problem. Thank you in advance..

解决方案

Hello, 

Where is your assignment for connection? 

con.Open();

-----

Adding parameters on the second loop definitely will cause an error.

-----

Connection you can Open() before starting the loop and Close() - after.


这篇关于将记录插入数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆