C 一次連線資料庫執行多條sql語句 三種方法

2021-06-04 20:19:04 字數 2619 閱讀 9834

第一種方法:

string str="server=.;uid=sa;pwd=111111;database=text_db";//連線字串

sqlconnection scon = null;//連線物件

sqlcommand scom=new sqlcommand();//命令物件

scon=new sqlconnection(str);

scon.open();

scom.commandtext = "insert into cum(nm,age,***,addr) values(『」+name1+」』, 『」+age1+」』, 『」+***1」』,』」+addr1+」』); insert into cum(nm,age,***,addr) values(『」+name1+」』, 『」+age1+」』, 『」+***1」』,』」+addr1+」』)";

scom.connection = scon;

scom.commandtype = commandtype.text;

int num = scom.executenonquery();

scon.close();

注意:這就是用分號隔開,把多條sql語句寫成了一條sql語句來執行,因為沒有用引數,可能有sql注入風險。

第二種方法:

string str="server=.;uid=sa;pwd=111111;database=text_db";//連線字串

sqlconnection scon;

sqlcommand scom1=new sqlcommand();//要執行sql語句的第乙個命令物件

sqlcommand scom2=new sqlcommand();//要執行sql語句的第二個命令物件

scon=new sqlconnection(str);

scon.open();

//第一條要執行的sql語句

scom1.commandtext = "insert into cum(nm,age,***,addr) values(@name,@age,@***,@addr)";

scom1.parameters.add("@name", sqldbtype.text);

scom1.parameters.add("@age", sqldbtype.int);

scom1.parameters.add("@***", sqldbtype.bit);

scom1.parameters.add("@addr", sqldbtype.text);

scom1.parameters["@name"].value = name1;

scom1.parameters["@age"].value = age1;

scom1.parameters["@***"].value = ***1;

scom1.parameters["@addr"].value = addr1;

scom1.connection = scon;

scom1.commandtype = commandtype.text;

int num = scom1.executenonquery();

//第二條要執行行的sql語句

scom2.commandtext = "insert into cum(nm,age,***,addr) values(@name,@age,@***,@addr)";

scom2.parameters.add("@name", sqldbtype.text);

scom2.parameters.add("@age", sqldbtype.int);

scom2.parameters.add("@***", sqldbtype.bit);

scom2.parameters.add("@addr", sqldbtype.text);

scom2.parameters["@name"].value = name2;

scom2.parameters["@age"].value = age2;

scom2.parameters["@***"].value = ***2;

scom2.parameters["@addr"].value = addr2;

scom2.connection = scon;

scom2.commandtype = commandtype.text;

int num = scom2.executenonquery();

scon.close();

這種方法就是利用了乙個sqlconnection物件進行一次連線,在關閉前執行多個sqlcommand命令物件,執行完後再關閉連線。

第三種方法:

//這裡用事務來執行多條語句

public string insertall(string cmdtext)

else

mytrans = sqlcon.begintransaction(isolationlevel.readcommitted);

mycmd.connection = sqlcon;

mycmd.transaction = mytrans;

trymytrans.commit();

return "1";

}catch (exception)

finally

}

C 連線資料庫執行SQL語句

sqlconnection connection new sqlconnection connstring string sql select count from student connection.open 開啟資料庫連線 sqlcommand command new sqlcommand s...

Java 一次執行多條sql

一次執行多條sql,如果傳來的sql如果有一條不成功將顯示失敗 arraylist 為已封裝的sql語句 smsg 為資訊提示。當執行出問題時,輸出相應的資訊。如 輸入類名方法名,出錯時可以看到出問題的方法名稱 public boolean exemanysql arraylist arr,stri...

連線資料庫執行sql指令

1.mysqli連線資料庫資料庫 首先建立資料庫 在物件導向的方式中,mysqli被封裝成乙個類,它的構造方法如下 construct string host string username string passwd string dbname int port string socket 在上述...