c#中将数据传到数据库的中的几种方式

一、通过SQL语句进行添加

insert into...

insert into tb_Member(name,sex,Place)values('" + TextBox1.Text + "','" + TextBox2.Text + "'and nPlace='" + TextBox3.Text + "'");

注意的一点就是插入的数据是否重复。

  public int getConut() 
     {
 
         SqlConnection con = new SqlConnection("Data Source=(local);Database=fangdawei;Uid=sa;Pwd=;");
         con.Open(); 
         string str = "select * from tb_Member where name='" + TextBox1.Text + "'and sex='" + TextBox2.Text + "'and Place='" + TextBox3.Text + "'";
          SqlCommand com = new SqlCommand(str, con); 
         int intcont = Convert.ToInt32(com.ExecuteScalar()); 
         con.Close(); 
         com.Clone(); 
         return intcont; 
     } 
   "添加"按钮Click事件代码如下。
 
   protected void Button1_Click(object sender, EventArgs e) 
     { 
         if (getConut() != 0)//判断是否添加了相同的记录 
         { 
             Response.Write("alert('对不起!不允许填写相同记录!')"); 
         } 
         else 
         { 
             try 
             { 
                 SqlConnection sqlcon = new SqlConnection("Data Source=(local);Database=fangdawei;Uid=sa;Pwd=;");
                  sqlcon.Open(); 
                 string InsertSql = "insert into tb_Member(name,sex,nPlace) values ('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "')";
                  SqlCommand com = new SqlCommand(InsertSql, sqlcon); 
                 com.ExecuteNonQuery(); 
                 SqlDataAdapter ada = new SqlDataAdapter("select * from tb_Member", sqlcon);
                  DataSet ds = new DataSet(); 
                 ada.Fill(ds, "tb_Member "); 
                 GridView1.DataSource = ds; 
                 GridView1.DataBind(); 
                 sqlcon.Close(); 
                 Response.Write("alert('添加成功!')"); 
             } 
             catch(Exception ex) 
             { 
                 Response.Write("ex.Message.ToString()"); 
             } 
         } 
      }
 二、

通过SqlParameter参数添加

nsert into tb_BookInfo (BookName,BookIntroduce,BookPrice,BookIsNew) values(@BookName,@BookIntroduce,@BookPrice,@BookIsNew)

 “添加信息”按钮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()); 
             } 
         }   
}
 

三、

存储过程可以过滤SQL语句中的非法字符,而且在创建时可直接在服务器上进行编译,所以执行起来比单个SQL语句快。通过存储过程添加数据,可以提高程序的执行效率,而且便于以后的维护。

CREATE    PROCEDURE probookinfo 
(@BookName     [VarChar](50), 
@BookIntroduce    [VarChar](50), 
@BookPrice    [Money], 
   @BookIsNew   [VarChar](50)) 
AS INSERT INTO [fangdawei].[dbo].[tb_BookInfo] ( 
   [BookName], 
   [BookIntroduce], 
[BookPrice], 
   [BookIsNew]) 
VALUES ( 
   @BookName, 
   @BookIntroduce, 
   @BookPrice, 
   @BookIsNew) 
GO 

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

protected void Button1_Click(object sender, EventArgs e)    

  { 
         SqlConnection myconn = new SqlConnection("server=(local);Database=fangdawei;Uid=sa;Pwd=");
          //打开链接 
         myconn.Open(); 
         string str = "select count(*) from tb_BookInfo where BookName='" + TextBox1.Text.ToString() + "'";
          //创建SqlCommand对象 
         SqlCommand com = new SqlCommand(str,myconn); 
         int intcont = Convert.ToInt32(com.ExecuteScalar()); 
         if (intcont > 0) 
         { 
             Response.Write("alert('对不起!不允许填写相同记录!')"); 
         } 
         else 
         { 
             try 
             { 
                 SqlCommand mycom = new SqlCommand("probookinfo", myconn); 
                 //调用存储过程 
                 mycom.CommandType = CommandType.StoredProcedure; 
                 //添加参数 
                 SqlParameter[] prams ={
 
                            new SqlParameter("@BookName", SqlDbType.VarChar, 50),
                             new SqlParameter("@BookIntroduce", SqlDbType.VarChar, 50),
                             new SqlParameter("@BookPrice", SqlDbType.Money, 8),
                             new SqlParameter("@BookIsNew", SqlDbType.Char, 10),
                                                        
                  }; 
                 //给参数赋值 
                 prams[0].Value = TextBox1.Text; 
                 prams[1].Value = TextBox2.Text; 
                 prams[2].Value = Convert.ToDecimal(TextBox3.Text); 
                 prams[3].Value = DropDownList1.SelectedValue.ToString(); 
                 foreach (SqlParameter parameter in prams) 
                 { 
                     mycom.Parameters.Add(parameter); 
                 } 
                 //执行sql语句 
                 mycom.ExecuteNonQuery(); 
                 myconn.Close(); 
                 BindData(); 
                 Response.Write("alert('添加成功!')"); 
             } 
             catch(Exception ex) 
             { 
                Response.Write(ex.Message.ToString()); 
             } 
         } 
   }

转载于:https://www.cnblogs.com/bboyxiaoming/archive/2011/10/24/2222881.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值