ASP的SQL写法

mzcih 2004-09-01 04:59:16
A表
ID NAME BE

B表
ID NAME

ABC="mzcih"

SQL = "Insert Into A(ID,NAME,BE) Select ID,NAME,"&ABC&" As ab From B Where ID=1"

我改成'"&ABC&"' As ab也不行,应该怎么写呢?
...全文
453 52 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
52 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tal 2004-09-03
  • 打赏
  • 举报
回复
SQL = "Insert Into A (ID,NAME,BE) (Select ID,NAME,'" & ABC & "' From B Where ID=1)"
mzcih 2004-09-03
  • 打赏
  • 举报
回复
找不到答案,准备结贴吧!
OnlyVB 2004-09-02
  • 打赏
  • 举报
回复
晕呀!!!!!!!!
SourceType = "SourceType=DBC;"
改为:
SourceType = "SourceType=DBF;"
yb2008 2004-09-02
  • 打赏
  • 举报
回复
mark
mzcih 2004-09-02
  • 打赏
  • 举报
回复
TO:lbd8848(lbd)

加了,同樣的錯誤

1,3不用在那里加的

像平时SQL那样
SQL = "Select * From B"
rs.SQL,conn,1,3
就行的了.

不知是否ASP+DBF后对SQL的语法不是太支持吧!
makay 2004-09-02
  • 打赏
  • 举报
回复
mark...
lbd8848 2004-09-02
  • 打赏
  • 举报
回复
conn.Open Driver & SourceType & DBPath,1,3
这样试试行不行
mzcih 2004-09-02
  • 打赏
  • 举报
回复
TO: lbd8848(lbd)

代码如下:

<%
Set conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
Driver = "Driver={Microsoft FoxPro VFP Driver (*.dbf)};"
SourceType = "SourceType=DBC;"
DBPath = "SourceDB=" & Server.MapPath("dbf/zb.dbc")
conn.Open Driver & SourceType & DBPath
%>

里面有两A,B两个DBF表,字段属性完全相同

A表
ID NAME BE

B表
ID NAME BE
1 A mjr
2 B cih
3 C cih

<%
conn.Execute("Insert Into A(ID,NAME,BE) Select ID,NAME,BE From B")]
Set conn = Nothing
%>


错误提示:

Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'

[Microsoft][ODBC Visual FoxPro Driver]Syntax error.
mzcih 2004-09-02
  • 打赏
  • 举报
回复
用VF执行是可以,换成ASP就不行了.
lbd8848 2004-09-02
  • 打赏
  • 举报
回复
现在可不可以啦,
之前没测试,就枉下结论,不好意思
mzcih 2004-09-02
  • 打赏
  • 举报
回复
TO: lbd8848(lbd)

谢谢!

但我之前的回复:

不可能,VF这样写测试通过.

xxx='aa'

INSERT INTO A(nno,name) SELECT pno,xxx as na FROM B WHERE ID=1
lbd8848 2004-09-02
  • 打赏
  • 举报
回复
是用vfp执行的呀

你可到这个网站看一下http://fox.wikis.com/
内容就是从这个网站来的,可以搜索"insertinto",找到该文章
mzcih 2004-09-02
  • 打赏
  • 举报
回复
你这语句是直接用VF执行的,还是用什么执行的呢?
lbd8848 2004-09-02
  • 打赏
  • 举报
回复
可以呀:
INSERT INTO MyTable SELECT * FROM OldTable



Of course, the select list has to match the fields in the insert table. But, you can specify the fields in both the insert side and the select side.

How do I force the insert order ? cause insert into mytable select * from oldtable order by old_table_key1 doesn't seem to work.

Your Help would be appreciated

No. VFP8 does not let you do it with order By in the 2nd select. But why would you need it? The important thing may be to select a subset from the 2nd table, not select all by some order, as the index on the 1st table (recipient table) would take care of that.
Example:

Close Tables all
Set Talk off
Set safety off
USE Home(2)+"\northwind\customers"
Copy To Sys(2023)+"\junk.dbf" next 1
Select 0
USE Sys(2023)+"\junk.dbf"
replace customerid with "ZZZZ"
INSERT INTO customers (customerid,city) SELECT customerid,city FROM junk where customerid = "ZZZZ"
Select customers
Go BOTTOM
Browse Last Nocaptions
Close TABLES ALL
Erase Sys(2023)+"\junk.dbf"

mzcih 2004-09-02
  • 打赏
  • 举报
回复
TO: lbd8848(lbd)

你给的链接不能访问!
lbd8848 2004-09-02
  • 打赏
  • 举报
回复
看看对我有没有用
http://fox.wikis.com/wc.dll?Wiki~InsertIntoSelect~VFP
mzcih 2004-09-02
  • 打赏
  • 举报
回复
TO: luckyprg(城市猫)

你的SQL我也测试过,无论AS 什么都出错.

因为:

即使數據庫變為:

A表
ID NAME BE

B表
ID NAME BE

SQL = "Insert Into A(ID,NAME,BE) Select ID,NAME,BE From B"

都提示语句错误.
luckyprg 2004-09-02
  • 打赏
  • 举报
回复
SQL = "Insert Into A(ID,NAME,BE) Select ID,NAME,"&ABC&" As BE From B Where ID=1"
mzcih 2004-09-02
  • 打赏
  • 举报
回复
TO: fenglik(风易)

"&aaa&" As ab 或 '"&aaa&"' As ab 也不行

即使數據庫變為:

A表
ID NAME BE

B表
ID NAME BE

SQL = "Insert Into A(ID,NAME,BE) Select ID,NAME,BE From B"

都提示语句错误.
fenglik 2004-09-02
  • 打赏
  • 举报
回复
aa="mzcih"

SQL = "Insert Into A(ID,NAME,BE) Select ID,NAME,"&aa&" As ab From B Where ID=1"
加载更多回复(31)

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧