c。如何向資料庫同時插入多條資料

2022-07-20 04:16:49 字數 4141 閱讀 9811

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...