社区
C#
帖子详情
求救,如何执行多条sql???
beyondme
2003-03-05 10:01:44
我用的是oracle,
strSql="delete from a where id=1"
strSql=strSql + "\n\r" + "insert into b(id) values(2)";
但是执行不成功,是不是"\n\r"不对?
...全文
63
15
打赏
收藏
求救,如何执行多条sql???
我用的是oracle, strSql="delete from a where id=1" strSql=strSql + "\n\r" + "insert into b(id) values(2)"; 但是执行不成功,是不是"\n\r"不对?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dlmhtao
2003-03-05
打赏
举报
回复
还是是用存储过程吧,要方便很多!
agice
2003-03-05
打赏
举报
回复
string strSql;
strSql="insert into systemlog(syslog_id,syslog_info,syslog_name,syslog_time,syslog_note)
values(6,'6','6',to_date('2003-03-03','YYYY-mm-dd'),'')/";
试试?我也不知道成不成
beyondme
2003-03-05
打赏
举报
回复
string strSql;
strSql="insert into systemlog(syslog_id,syslog_info,syslog_name,syslog_time,syslog_note)
values(6,'6','6',to_date('2003-03-03','YYYY-mm-dd'),'')";
strSql=strSql + " insert into systemlog(syslog_id,syslog_info,syslog_name,syslog_time,syslog_note)
values(4,'4','4',to_date('2003-03-03','YYYY-mm-dd'),'')";
OleDbConnection OleConn=Das.GetConnect();//连接数据库
OleDbCommand OleCmd = new OleDbCommand(strSql,OleConn);
OleConn.Open();
OleCmd.ExecuteNonQuery();
OleConn.Close();
单条语句执行都没错,多条执行就说ORA-00933: SQL 命令未正确结束,加上换行或“;”也不行。
maotin
2003-03-05
打赏
举报
回复
把代码贴出来~~
snla
2003-03-05
打赏
举报
回复
strSql="delete from a where id=1";
strSql+=" insert into b(id) values(2)";
这样就行了,不用那么费劲
beyondme
2003-03-05
打赏
举报
回复
sql语句没问题,我在sql*plus可以执行。
flashwave
2003-03-05
打赏
举报
回复
对,用存储过程多方便啊,可惜oracle没有用过
Cnapollo
2003-03-05
打赏
举报
回复
用存储过程不就行了,郁闷个啥?
TheAres
2003-03-05
打赏
举报
回复
噢,我说的是Sql Server,没有看到oracle,oracle没有用过.
TheAres
2003-03-05
打赏
举报
回复
不需要"\r\n",用 ";"分割.
你也要验证一下是不是sql语句有问题.
Pengmg
2003-03-05
打赏
举报
回复
Sorry,笔误
暂时使用CommandType.Text+循环吧
Pengmg
2003-03-05
打赏
举报
回复
格式不是这样的,
暂时使用存储过程+循环吧
beyondme
2003-03-05
打赏
举报
回复
strSql如下面,在sql*plus中可以执行,
设置OleCmd.CommandType = CommandType.StoredProcedure; 就说不支持此接口
begin
insert into systemlog(syslog_id,syslog_info,syslog_name,syslog_time,syslog_note)
values(6,'6','6',to_date('2003-03-03','YYYY-mm-dd'),'');
insert into systemlog(syslog_id,syslog_info,syslog_name,syslog_time,syslog_note)
values(4,'4','4',to_date('2003-03-03','YYYY-mm-dd'),'');
end;
beyondme
2003-03-05
打赏
举报
回复
to:Pengmg
strSql 写成存储过程执行的格式,但是执行时不支持此接口。
Pengmg
2003-03-05
打赏
举报
回复
1.设置Cmd的CommandType = CommandType.StoredProcedure;//使用存储过程,
OleDbConnection OleConn=Das.GetConnect();//连接数据库
OleDbCommand OleCmd = new OleDbCommand(strSql,OleConn);
******************************************************
OleCmd.CommandType = CommandType.StoredProcedure;
//strSql 写成存储过程执行的格式
*******************************************************
OleConn.Open();
OleCmd.ExecuteNonQuery();
OleConn.Close();
2.或者你用一个比较笨的办法:循环 搞掂
如果不是大量数据,其实这对性能不会有大的影响,Example:
private OleDbConnection OleConn;//Definition
private void ...()
{
... ...
OleDbCommand OleCmd = new OleDbCommand(strSql,OleConn);
if (OleConn.State != ConnectionState.Closed)
OleConn.Open();
OleCmd.ExecuteNonQuery();
//Do not close connection !!!
}
如果是大数据量(例如电信、移动,无线监测)就需要考虑使用数据库服务期端的存储过程和客户端缓冲
3.要注意定义一个公共OleDbConnection,而且每次用完以后不要关闭连接
不要每次都创建又关闭,ADO,ADO.NET 的连接速度是很慢的,但连接以后性能就要好(例如比Delphi.BDE)
[PL/
SQL
] 请教大家一个问题,存储过程中需要几个commit?
[PL/
SQL
] 请教大家一个问题,存储过程中需要几个commit? [复制链接] yi888long 注册会员 精华贴数 0 专家积分 1 技术积分 126 社区...
为什么你的
SQL
,跑不动千万级的数据?
点击蓝色“有关
SQL
”关注我哟加个“星标”,天天与10000人一起快乐成长这是一篇老文,看了很多朋友写的
SQL
后,发现他们认为
SQL
遇上千万级的数据,就束手无策,想动用分布式计算...
sql
server多表连接
sql
数据库多表连接 用 INNER JOIN语法联接多个表建记录集 多表联接建立记录集是十分有用的,因为某些情况下,我们需要把数字数据类型显示为相应的文本名称,这就遇到了多表联接建立记录集的问题。比如作一个会员...
sql
数据不多,mdf文件特别大怎么处理
3、收缩数据文件(不是收缩数据库),收缩过程一开始先100M/次,过几次再调到500M,不要一次收缩好几G,要话很多时间的。 请问你是不是之前操作这个数据库的时候,有很多delete表的操作? 如果是的话,delete操作腾...
Entity Framework查询生成大量的子查询,如何避免?
求救
经过跟踪
sql
,我发现很多简单的查询,都存在子查询,而子查询往往会影响到查询性能,在这里,我想问问大虾,除了自己写
SQL
语句,有没有更好的解决办法在Entity Framework基础上处理这个问题? 如图所示: Enti.....
C#
110,529
社区成员
642,571
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章