string sql = "insert into table select sysdate,100,'192.168.0.211','',1,0 from dual; ";
sql += "insert into table select sysdate,100,'192.168.0.222','',1,0 from dual ";
Database db = DatabaseFactory.CreateDatabase();
// DBCommandWrapper insertcmd = db.GetSqlStringCommandWrapper(sql);
// db.ExecuteScalar(insertcmd);
// db.ExecuteNonQuery(System.Data.CommandType.Text,sql);
// db.ExecuteScalar(System.Data.CommandType.Text,sql);以上都不行.难道我非要循环?不能一次提交多个sql语句吗?
sql += "insert into table select sysdate,100,'192.168.0.222','',1,0 from dual ";
Database db = DatabaseFactory.CreateDatabase();
// DBCommandWrapper insertcmd = db.GetSqlStringCommandWrapper(sql);
// db.ExecuteScalar(insertcmd);
// db.ExecuteNonQuery(System.Data.CommandType.Text,sql);
// db.ExecuteScalar(System.Data.CommandType.Text,sql);以上都不行.难道我非要循环?不能一次提交多个sql语句吗?
未处理的“System.Data.OracleClient.OracleException”类型的异常出现在 microsoft.practices.enterpriselibrary.data.dll 中。
其他信息: ORA-00911: 无效字符
但单个sql语句我都执行了没问题的
OleDbConnection con = new OleDbConnection("数据库连接语句");
con.Open();
OleDbCommand com = new OleDbCommand();
OleDbTransaction myTrans;
myTrans = con.BeginTransaction();
com.Connection = con;
com.Transaction = myTrans; com.CommandText = "第一个语句";
com.ExecuteNonQuery(); com.CommandText = "第二个语句";
com.ExecuteNonQuery(); myTrans.Commit();
con.Close();
sql += "insert into table select sysdate,100,'192.168.0.222','',1,0 from dual "; 第二条ORACLE句子没加;结尾
但INSERT的时候,尽量把字段写上吧.要不错在哪都不知道.
sql += "insert into table select sysdate,100,'192.168.0.222','',1,0 from dual;";
string sql = "insert into table select sysdate,100,'192.168.0.211','',1,0 from dual; ";
sql += "insert into table select sysdate,100,'192.168.0.222','',1,0 from dual;;;;;;;;;;;";
红色不明显,多打几个...";"就写一个...
我加上分号,照片还是不行.错误同样提示to
BitCoffee:
我就是不想一句一句提交才发的贴子
而且加个分号;就会报错的吧
难道真的不能报多个sql语句同时执行?
sql += " UNION ALL select sysdate,100,'192.168.0.222','',1,0 from dual ";
insert into aa(cc) values(null);我用的PL/SQL.
COPY两句,在COMMAND WINDOW 粘贴:结果如下
SQL>
SQL> insert into aa(cc) values(null);1 row insertedSQL> insert into aa(cc) values(null);1 row insertedSQL>
不可能说不能多语句执行.
你检查一下程序的其它地方吧.
如果你也用PL/SQL,如果是在SQL WINDOW里面执行,肯定不行的.
command window里可以执行
我也试过
在sql window里不能执行.这我也知道我就是想在程序里,贴子说的那样,能否提交
如果不是同一张表怎么办呢
sql += "insert into table select sysdate,100,'192.168.0.222','',1,0 from dual ";
你想单个sql提交进入数据库的时候还会有""(引号吗)所以累加的时候,到数据库里执行的时候是识别不出来的
建议循环添加或者你能让每一次累加换行!
你可以试试换行。