往数据库的表中插入新行
生活随笔
收集整理的這篇文章主要介紹了
往数据库的表中插入新行
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
//方法一:用DataAdapter方法,優(yōu)點(diǎn):不用寫insert語(yǔ)句且不用關(guān)心values后邊的各字段的形式,如要不要加單引號(hào)之類的;缺點(diǎn):插入一條記錄的效率不及寫單純insert語(yǔ)句SqlConnection conn = ConnectDB(server, db);string sql = "select * from " + tableName;SqlDataAdapter da = new SqlDataAdapter(sql, conn);SqlCommandBuilder scb = new SqlCommandBuilder(da);//SqlCommandBuilder根據(jù)insertCommand構(gòu)造 updatecommand和deletecommandDataTable dt = new DataTable();exeTable(conn, dt, sql);DataRow dr = dt.NewRow(); dr.ItemArray = columnValues; dt.Rows.Add(dr); da.Update(dt); conn.Close(); // 方法二:單純寫insert語(yǔ)句插入一條記錄,優(yōu)點(diǎn):單條數(shù)據(jù)插入效率高 缺點(diǎn):需要注意sql語(yǔ)句的構(gòu)造和sql語(yǔ)句中參數(shù)的類型 string sql = "insert into 表名 values(" + 值1+ "," + 值2+ ",'" + 值3+ "',"+ 值4+ "," + 值5+ "," + 值6+",@參數(shù)1,'" + 值7+ "','"+ 值8+ "')"; SqlParameter param = new System.Data.SqlClient.SqlParameter("@參數(shù)1", SqlDbType.Image); param.Value = 值9; SqlConnection conn = sqlHelper.ConnectDB(); SqlCommand cmd = new System.Data.SqlClient.SqlCommand(sql, conn); if (param != null) cmd.Parameters.Add(param); cmd.ExecuteNonQuery(); conn.Close(); //方法三:插入大批量數(shù)據(jù)時(shí)用SqlBulkCopy,單條記錄插入效率較慢 DataTable dt = new DataTable(); dt.Columns.Add("列名1", typeof(string)); dt.Columns.Add("列名2", typeof(byte[])); DataRow dr = dt.NewRow(); dr["列名1"] = 值1; dr["列名2"] = 值2; dt.Rows.Add(dr); dr = dt.NewRow(); dr["列名1"] = 值3; dr["列名2"] = 值4; dt.Rows.Add(dr); SqlBulkCopy bulk = new System.Data.SqlClient.SqlBulkCopy(conn); bulk.DestinationTableName=目標(biāo)表名; bulk.BatchSize=dt.Rows.Count; bulk.ColumnMappings.Add("列名1",目標(biāo)列名1); bulk.ColumnMappings.Add("列名2",目標(biāo)列名2); bulk.WriteToServer(dt); bulk.Close(); conn.Close();
?
轉(zhuǎn)載于:https://www.cnblogs.com/nora/p/8064207.html
總結(jié)
以上是生活随笔為你收集整理的往数据库的表中插入新行的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: (转)在Eclipse中创建Maven多
- 下一篇: MyBatis动态SQL小结