看来需要学习一下Sybase支持的SQL~~~~
解决方案 »
- 关于clientdataset对TTable的升降序切换问题
- 【菜鸟送100分】如何在鼠标悬停时显示series的值?
- 请问哪里有DBGried控件详细使用方法的书籍?
- 到底MSSQLSERVER里何种类型的字段才能表示BOOLEAN型,并能在WWDBGRID里的复选框里表现出来?
- 问题
- 在函數中怎樣以不定數組作為函數反回值
- 求教,如何用TWebBrowser开多个窗口,并同时保持登陆进E-MAIL或论坛的状态
- 一个关于table的问题
- 难道没有一个人知道!!!哪里有<泰塔尼克号>看!!!!!!!!最好是在线影院!!!!
- 关于中国式报表EReport的几个问题,欢迎讨论。
- 求解:PlaySound()函数在delphi6中编译出错,提示“未定义”,应如何解决?
- 一个关于DLL的问题。
然后你从另外一个数据库中取得数据并拷贝到sybase中,这样的sql不是不能写,但是比较麻烦,倒不如你用两个query,一个直接从paradox中取得数据,然后逐条添加到sybase中(或者直接使用batchmove)
query.sql.clear;
query.sql.add('Insert into :TableName In DataBasePath Select * From :Table1');
query.params[0]:=tablename;
query.params[1]:=table1;
query.sql.execsql;
句中有一句 In DataBasePath, 意思是让query在该路径下寻找数据库TableName;
如果不写该语句 的话,就会在自身属性的DataBaseName所定义的路径中寻找。
假设你的TablePath='c:\wangzhen\'
那么你的SQL送到QUERY1中其实就变成了下列语句
inset into ":databaseName:tableName" selet * from "c:\wangzhen\table1"
这显然不对,这样的语句能在SYBASE中运行吗?(我是用SQLSERVER的)
还有此处的CHR(#13)令人费解?是想换行码?似乎没这个必要。
在DELPHI中的SQL的写法有如下几点
如果想引用变量
var str,sql:string;
str:='wangzhen';
sql:='select * from table where a='+str+''
query.sql.add(sql);
真正送到QUERY中去的语句是select * from table where a=wangzhen
如果sql:='select *from table where a="'+str+'"'的话
送到QUERY中去的语句就变成了select * from tabel where a="wangzhen"
要记住最后送往QUERY中的语句才是为后端数据库所执行的语句,理解这一点那么
要写这种SQL语句就不难了
如果是用SQLSERVER的话我认为你的语句应该这样写
var sql:string;
sql:='insert into 数据库名.表名 select * from '+tablepath+'table';
query.sql.clear;
query.sql.add(sql);
query.execsql;
(以上“数据库”名和“表名”直接写成实际存在的数据库名和表名,
可能和SYBASE不一样,不过道理是一样的,按照SYBASE所接受的样式写)
支不支持绝对路径的问题是SYBASE支不支持,而不是DELPHI的问题!!
如果还有问题请发([email protected])
这天语句原来确实是用于SQL Server的(我没有试过)