把添加的新行保存到数据库

// 把添加的新行保存到数据库
// PersistAdds.cs
using  System;
using  System.Data;
using  System.Data.SqlClient;
namespace  Ch13
{
     class   PersistAdds
    {
         static   void  Main(   string [] args)
        {
             string  strConn =  "server=.\\MSSQL2012;integrated security=true;database=Northwind" ;
             string  qry =  "select * from employees where employeeid=1"   ;
             string  ins =  "insert into employees(firstname,lastname,titleofcourtesy,city,country)"
                +  " values(@fname,@lname,@title,@city,@country)"   ;
            SqlConnection conn =  new  SqlConnection(strConn);
             try
            {
                SqlDataAdapter da =  new  SqlDataAdapter();
                da.SelectCommand =  new  SqlCommand(qry, conn);
                DataSet ds =  new  DataSet();
                da.Fill(ds,  "emp"  );
                DataTable dt = ds.Tables[   "emp"  ];
               
                 Console .WriteLine(   "插入前"  );
                 foreach  (DataRow row  in  dt.Rows)
                {
                     Console .WriteLine(   "{0} {1} {2}"
                        , row[   "firstname"  ].ToString().PadRight(15)
                        , row[   "lastname"  ].ToString().PadRight(15)
                        , row[   "city"  ]);
                }
                 // 添加新行
                DataRow newrow = dt.NewRow();
                newrow[   "firstname"  ] =  "张"   ;
                newrow[   "lastname"  ] =  "三"   ;
                newrow[   "titleofcourtesy"  ] =  "先生"   ;
                newrow[   "city"  ] =  "深圳"   ;
                newrow[   "country"  ] =  "中国"   ;
                dt.Rows.Add(newrow);
                 // 此时数据并没有写入到数据库,而是内存表中
                 Console .WriteLine(   "插入后"  );
                 foreach  (DataRow row  in  dt.Rows)
                {
                     Console .WriteLine(   "{0} {1} {2}"
                        ,row[   "firstname"  ].ToString().PadRight(15)
                        ,row[   "lastname"  ].ToString().PadRight(15)
                        ,row[   "city"  ]);
                }
                 // 创建SqlCommand
                SqlCommand cmd =  new  SqlCommand(ins, conn);
                cmd.Parameters.Add(   "@fname"  ,   SqlDbType.NVarChar, 10,  "firstname"  );
                cmd.Parameters.Add(   "@lname"  ,   SqlDbType.NVarChar, 20,  "lastname"  );
                cmd.Parameters.Add(   "@title"  ,   SqlDbType.NVarChar, 25,  "titleofcourtesy"   );
                cmd.Parameters.Add(   "@city"  ,    SqlDbType.NVarChar, 15,  "city"  );
                cmd.Parameters.Add(   "@country"  , SqlDbType.NVarChar, 15,  "country"  );
                da.InsertCommand = cmd;
                da.Update(ds,  "emp"  );
                 // 此时数据真正写入到数据库
            }
             catch (   Exception  ex)
            {
                 Console .WriteLine(   "出错了:"  + ex);
            }
             finally
            {
                conn.Close();
                 Console .ReadLine();
            }
        }
    }
}
----------
插入前
Nancy           Davolio         Seattle
插入后
Nancy           Davolio         Seattle
张               三               深圳




转载于:https://www.cnblogs.com/bloodfist/p/3278835.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值