1樓:江湖風雲錄
因為資料庫的限制,所以只能一次插入一條資料,多條的都是通過迴圈去完成的,dataadapter所做的一次多條更新插入其實也是通過記錄rowstate的狀態去迴圈完成的,而且侷限性很大,效率也不高,一般都不會用的,目前最快的應該是開啟事務,迴圈插入,最後再一起提交是效率最高的。
2樓:poy愛睡覺
//自動生成用於修改的command命令,但是一定要把運算元據的dataadapter給它
sqlcommandbuilder builder=new sqlcommandbuilder(dataadapter);
//將dataset中的某個表的資料提交給資料庫更新dataadapter.update(dataset,表);
兩句話就結束了,但是請注意,sqlcommandbuilder只操作單個表
c#,一條資料同時插入到兩個資料庫中,請問如何採用回滾,保證資料插入成功,求例項。 5
3樓:
一條資料同時插入兩個資料庫???還是兩張表呀。至於你說的回滾,可以用到事務來處理。
事務的語法如下(例如我刪除一條資料時用事務來處理);
declare @no int //定義乙個變數set @no=0 //給變數付初始值為0begin tran
delete from table where id=9@no=@no+@@error //@@error是乙個全域性變數,用於記錄錯誤號的(如果沒有錯誤,@@error等於)
if @no<>0
begin
tran.rollback //事務失敗,回滾操作endelse
begin
tran.commit //事務成功,提交操作end
c# winform 插入多條資料到oracle資料庫!!!
4樓:匿名使用者
datatable dt = new datatable();
輸入的資料放入datatable裡
datagridview1.datasource = dt;//將資料放入datagridview
每次點選提交時,讀取datagridview資料存入資料庫即可//迴圈行
for (int i = 0; i < datagridview1.rows.count - 1; i++)
c#excel匯入多條資料到資料庫,如何快速匯入?
c#通過for迴圈多次向資料庫中插入資料。
5樓:白天
你的問題不甚清晰。需要插入的資料**是在窗體中嗎?sql需要拼接嗎?
給你一段**參考,這段**是將窗體中datagridview中的資料迴圈插入資料庫,迴圈過程中拼接sql,並執行插入:
賦值列名時可以放在迴圈外只賦值一次。
c# 多個insert語句,怎麼同時插入資料庫
6樓:匿名使用者
用c#sqlserver實現增刪改查
using system.data;
using system.data.sqlclient;
//先開啟兩個類庫檔案
sqlconnection con = new sqlconnection();
// con.connectionstring = "server=505-03;database=ttt;user=sa;pwd=123";
con.connectionstring = "server=.;database=stu;uid=sa;pwd=sa";
con.open();
/*sqldataadapter 物件。 用於填充dataset (資料集)。
sqldatareader 物件。 從資料庫中讀取流..
後面要做增刪改查還需要用到 dataset 物件。
*/sqlcommand com = new sqlcommand();
com.connection = con;
com.commandtype = commandtype.text;
com.commandtext = "sql的語句";
sqldatareader dr = com.executereader();//執行sql語句
dr.close();//關閉執行
con.close();//關閉資料庫
7樓:匿名使用者
兩條語句一次執行,語句之間用分號隔開
8樓:匿名使用者
--一次插入兩條資料
insert into [表名]([欄位1],[欄位2])select '','' union
select '',''
9樓:
string sql="insert into user(number,name,groups,friends) values='.........';insert into user(number,name,groups,friends) values='.........'"
c#向資料庫插入資料的各種方法
10樓:顧傾城
1、首先建立乙個用來測試的資料庫和表,為了讓插入資料更快,表中主鍵採用的是guid,如圖所示。
2、可以選擇一條一條插入方式。輸入命令:【insert into product(id,name,price) values(newid(),'牛欄1段',160);】即可。
3、可以選擇insert bulk命令。輸入命令:【 bulk insert [ [ 'database_name'.][ 'owner' ].]】即可。
4、可以選擇insert into xx select命令。輸入命令:【insert into product(id,name,price)
select newid(),'牛欄1段',160 】即可。
5、可以選擇拼接sql命令。輸入命令:【insert into product(id,name,price) values
(newid(),'牛欄1段',160)】即可。
11樓:匿名使用者
string str3 = "server=.;database=資料庫名;integrated security=true";
sqlconnection conn3 = new sqlconnection(str3);
conn3.open();
sqlcommand cmd = new sqlcommand("insert into 表 (列名,列名,列名) values('資料','資料','資料')", conn3);
cmd.executenonquery();
conn3.close();
c#中往mysql裡批量插入上萬條資料,有比較高效的方法嗎
12樓:匿名使用者
首先, 插入上萬條資料,對於資料庫來說並不是「很大」的工作量,一般配置的膝上型電腦都可以在1分鐘內完成。 所以最簡單、最靈活的辦法還是寫sql語句。
如果不希望db編譯器每次執行都編譯sql的話,可以使用儲存過程,直接呼叫,效能上會好很多。也比較簡單。
(幾萬條資料怎麼地也得要時間去處理,所以不可能特別快的。)
如果由於各種原因,導致這個插入還是很慢, 而且你的mysql又是5.0以上版本的話,可以使用bulkcopy來進行批量操作。
bulkcopy的原理就是client直接把乙個陣列(datatable)傳給db,然後傳入表名,所有的編譯、操作都由db自己完成,效率很高。
引用mysql.data.dll , 呼叫mysqlbulkcopy函式即可。
這個函式在處理海量資料插入的時候效率尤為明顯, 小量資料反而沒什麼優勢,而且由於傳入的datatable格式必須和表的字段一模一樣(空的列也要傳進去),導致c#要寫很多**來構造這個陣列,所以要你自己權衡用還是不用。
我在自己的電腦上批量插入一億條資料,insert寫法大概需要1小時,bulkcopy大概只需要5分鐘。
13樓:鬼谷子教主
用引數法(避免database每次插入都要解析sql)。
C Excel匯入多條資料到資料庫,怎麼解決效能問題可以快速匯入
在我做的那麼多excel匯入問題當中,都是按條讀取excel中的資料,然後插入到資料庫中。一般情況下,沒有多大的效能問題。你可以考慮批次提交,不要針對沒一條資料都進行提交。你優化下sql。對於excel生成的資料,如果沒有什麼好方法進行控制,那麼原始生成的dt就要做好控制,不相關的資料一律cut,外...
如何向資料庫中新增日期型資料,如何向資料庫中新增日期型資料
lz都不知道日期的標準格式,1,是 2009 4 18 0 32 50 這樣的,而不是字串,也不是text1.text 2,判斷日期間隔的爭取方法是用 datediff 函式,而不是單純的 大於號 小於號,也不是單純的字串比較 相關資料去msdn或網上查吧 把text用ctod 函式轉換為日期型。c...
如何往資料庫中插入日期格式的資料
乙個資料庫檔案中有很多表 dimcon asadodb.connection dimzrst asadodb.recordset setzcon new adodb.connection con.cursorlocation aduseclient con.connectionstring prov...