向数据库添加数据有三种方法利用 SQL语句添加、通过SqlParameter参数添加和通过存储过程添加。(二)

来源:互联网 发布:mac连上wifi却上不了网 编辑:程序博客网 时间:2024/06/11 20:11

2.通过SqlParameter参数添加

   通过SqlParameter参数向数据库添加数据,主要使用SqlParameter类的一些属性和方法。

   首先要创建SqlConnection类的一个对象,用来连接数据库,然后插入一个带参数的SQL命令。

   例如,使用的带参数的SQL命令实现向数据库的图书信息表(“tb_BookInfo”表)中添加相关的图书信息,代码如下。

insert into tb_BookInfo (BookName,BookIntroduce,BookPrice,BookIsNew) values(@BookName,@BookIntroduce,@BookPrice,@BookIsNew)   插入完带参数的SQL命令后,通过SqlCommand对象的Add方法向SqlParameter中添加参数,并给相应的参数赋值,最后使用SqlCommand对象的ExecuteNonQuery方法执行记录的添加操作。

 

   说明:在使用带参数的SQL命令(如insertupdatedelete等命令)时,其中的参数必须要用标识符@来标记,而参数名称可自己定义。在这种情况下,参数与命令关联的顺序就不重要了。

    注意:OLEDBODBC数据源使用以问号(?)占位符标识的定位参数。参数的顺序是重要的。这一点与SQL Server是不同的,要牢记!

   本例通过在页面指定的文本框中输入要添加的相关信息,通过在【添加】按钮的Click事件中使用SqlParameter参数来实现添加操作,添加的信息将显示在GridView控件中。
   
程序开发步骤:

   (1)新建一个网站,将其命名为Ex19_02,默认主页为Default.aspx

   (2)向Default.aspx页中添加一个Table表格,用于布局页面,然后在Table表格中分别添加一个GridView控件、4TextBox控件和一个Button控件,用来显示添加的结果、输入添加信息和执行添加命令。

   (3)主要程序代码。

   “添加信息”按钮Click事件代码如下:

protected void Button1_Click(object sender, EventArgs e)
     {
         SqlConnection con = new SqlConnection("Data Source=(local);Database=fangdawei;Uid=sa;Pwd=;");
         con.Open();
         string str = "select count(*) from tb_BookInfo where BookName='" + TextBox1.Text.ToString() + "'";
         SqlCommand com = new SqlCommand(str, con);
         int intcont = Convert.ToInt32(com.ExecuteScalar());
         if (intcont > 0)//判断数据库中是否有相同的录
         {   
             Response.Write("alert('对不起!不允许填写相同记录!')");
         }
         else
         {
             try
             {
                 //插入命令
                 string sqlstr = "insert into tb_BookInfo (BookName,BookIntroduce,BookPrice,BookIsNew) values(@BookName,@BookIntroduce,@BookPrice,@BookIsNew)";
                 SqlCommand mycom = new SqlCommand(sqlstr, con);
                 //添加参数
                 mycom.Parameters.Add(new SqlParameter("@BookName", SqlDbType.VarChar,50));
                 mycom.Parameters.Add(new SqlParameter("@BookIntroduce", SqlDbType.VarChar,50));
                 mycom.Parameters.Add(new SqlParameter("@BookPrice", SqlDbType.Money,8));
                 mycom.Parameters.Add(new SqlParameter("@BookIsNew", SqlDbType.Char,10));
                 //给参数赋值
                 mycom.Parameters["@BookName"].Value = TextBox1.Text;
                 mycom.Parameters["@BookIntroduce"].Value = TextBox2.Text;
                 mycom.Parameters["@BookPrice"].Value = Convert.ToDecimal(TextBox3.Text);
                 mycom.Parameters["@BookIsNew"].Value = DropDownList1.SelectedValue.ToString();
                 //执行添加语句
                 mycom.ExecuteNonQuery();
                 con.Close();
                 BindData();
                 Response.Write("alert('添加成功!')");
             }
             catch(Exception ex)
             {
                 Response.Write(ex.Messgae.ToString());
             }
         }  
}

原创粉丝点击