aardio 官方社区

用户名  找回密码
 注册会员

QQ登录

只需一步,快速开始

帖子
查看: 10113|回复: 11

请教下面的语句该怎么写?

[复制链接]

2

主题

5

回帖

45

积分

新手入门

积分
45
发表于 2017-12-7 21:07:46 | 显示全部楼层 |阅读模式
sql="SELECT 用户编号,用户名称,联系电话 FROM Users where 用户编号=  winform.edit.text "

12

主题

645

回帖

3938

积分

荣誉会员

子非魚、安知魚之樂

积分
3938
发表于 2017-12-7 21:17:26 | 显示全部楼层
sql="SELECT 用户编号,用户名称,联系电话 FROM Users where 用户编号=" + winform.edit.text

你把变量写到“”引号里面,就成字符串了!

2

主题

5

回帖

45

积分

新手入门

积分
45
 楼主| 发表于 2017-12-7 21:22:37 | 显示全部楼层
谢谢,我这样写了还是报错,但写成
sql="SELECT 用户编号,用户名称,联系电话 FROM Users where 用户编号=‘012345789’ " 就OK,不知道为什么,edit里面写012345789就不行?

166

主题

2154

回帖

1万

积分

管理员

积分
13056
发表于 2017-12-7 21:39:57 | 显示全部楼层
bluemoon 发表于 2017-12-7 21:22
谢谢,我这样写了还是报错,但写成
sql="SELECT 用户编号,用户名称,联系电话 FROM Users where 用户编号= ...

你的012345789外面有引号你没写。
按范例里用格式化参数的写法去写,就不用考虑这些东西。

2

主题

5

回帖

45

积分

新手入门

积分
45
 楼主| 发表于 2017-12-8 15:38:50 | 显示全部楼层
Jacen.He 发表于 2017-12-7 21:39
你的012345789外面有引号你没写。
按范例里用格式化参数的写法去写,就不用考虑这些东西。

谢谢老大指点,对格式化参数那块不太懂。继续学学再改代码。

166

主题

2154

回帖

1万

积分

管理员

积分
13056
发表于 2017-12-8 15:52:54 | 显示全部楼层
bluemoon 发表于 2017-12-8 15:38
谢谢Jacen指点,对格式化参数那块不太懂。继续学学再改代码。

用的是哪个数据库呢?

sql语句应当很多都支持两种参数格式化,一种是调用string.format格式化,

例如
db.exec("SELECT 用户编号,用户名称,联系电话 FROM Users where 用户编号=‘%s’", winform.edit.text)

就算是拼接,你也不要丢掉单引号:
db.exec("SELECT 用户编号,用户名称,联系电话 FROM Users where 用户编号= '" + winform.edit.text+ "' "  )


如果是使用数据库的命令参数可以不需要写引号,
总之你要保持最后生成的SQL符合SQL语法。

2

主题

5

回帖

45

积分

新手入门

积分
45
 楼主| 发表于 2017-12-8 16:27:19 | 显示全部楼层
受教了!再问一个问题,我用的access数据库,发现编译后发到其他没装access的电脑上不能运行,装了access数据引擎也不行,有没有不装access的办法?

12

主题

645

回帖

3938

积分

荣誉会员

子非魚、安知魚之樂

积分
3938
发表于 2017-12-8 18:25:24 | 显示全部楼层
Jacen.He 发表于 2017-12-8 15:52
用的是哪个数据库呢?

sql语句应当很多都支持两种参数格式化,一种是调用string.format格式化,

才发现这个是发到教程版的 移个板块吧

点评

已移动,谢谢  发表于 2017-12-8 18:26

166

主题

2154

回帖

1万

积分

管理员

积分
13056
发表于 2017-12-8 22:35:08 | 显示全部楼层
bluemoon 发表于 2017-12-8 16:27
受教了!再问一个问题,我用的access数据库,发现编译后发到其他没装access的电脑上不能运行,装了access数 ...

access扩展库使用的是系统自带的组件。并不需要在电脑上安装access.
除非你在连接数据库时,改动并使用了新版access数据库才支持的连接参数,你不必要这么做的。

166

主题

2154

回帖

1万

积分

管理员

积分
13056
发表于 2017-12-8 23:00:18 | 显示全部楼层
access里这样写参数
//将查询结果转换为普通数组
var result = db.getTable("SELECT 用户编号,用户名称,联系电话 FROM Users where 用户编号 = @uid",{
    uid =  winform.edit.text
});
打开数据库直接写:
//创建数据库
var db = access("/test.mdb")
不要自己改成其他连接参数。

2

主题

5

回帖

45

积分

新手入门

积分
45
 楼主| 发表于 2017-12-9 08:53:45 | 显示全部楼层
OK啦,谢谢Jacen指点~~~
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|aardio.com|aardio 官方社区 ( 皖ICP备09012014号 )

GMT+8, 2025-6-13 07:31 , Processed in 0.066438 second(s), 26 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表