首先从文件读出*.sql的内容放在一个字符串里面,不过要把GO去掉
再用一个ADOCommand组件,设置ADOCommand的commandtext为刚才的字符串就可以拉
解决方案 »
- TIdUDPServer 的 onread接收不到数据
- 关于函数参数的传递.
- Delphi编译后的程序可以很小吗?
- 帮初学者解答一个问题,OK!
- ADOQUERY控件是不是不支持disablecontrol属性,为什么当我在刷新数据的时候,DBGRID还是会抖动呢?
- 谁有RX Library 的控件给我一份:[email protected]
- 用WebBrowser怎样判断是否连接上了Internet
- 怎么得知DBGRID某一珊格的坐标?
- 当把鼠标放在EDIT上然后出现一个黄色的小提示是怎么做的,怎么把中文写在提示里面
- 游少爷(taxi)来领分呀,我注册不久,分已全用光了,现只有50分,多谢你帮了我!!!
- String与Windows API结合的简单问题,帮帮菜鸟吧!发言给分
- 这样的select怎么写?包含存储过程
在delphi中读入.sql文件的内容,作为参数传给存储过程。
/*
功能:
执行@strSQL语句
*/
CREATE PROCEDURE sp_ExecSQL(@strSQl text) AS
exec(@strSQL)
CREATE PROCEDURE sp_ExecSQL(@strSQl text) AS
exec(@strSQL)然后用stroedproc调用
with SP_exec do
begin
close;
procedurename:='sp_ExecSQL;1';
Parameters.ParamByName('@strSQl').Value:=filename;
ExecProc;
close;
end;可是这样运行后提示第一行有错误,这是为什么?
参数刷新一下
sp_exec.Parameters.refresh;
存储过程在建立是没有出错,可是在调用时的过程中出错。(提示存储过程第1行有误)
我所传入的filename,是文件的内容。
一样的结果,提示第1行有错误.
读取的脚本内容是否有问题。
exec sp_execsql 'begin transaction
select count(*) from tbl_awards
truncate table tbl_awards
select count(*) from tbl_awards
rollback'
在存储过程中不能直接写的,因为这个是SQL脚本是会动态改变的。
www.ifrance.com/man8888/main.php
找下载中心,我的控件/TGo.