看这条语句“select 姓名 from 联系人 where 编号 like '*A12*'”,有没有错误?使用ACCESS 2002数据库,语法没有问题,就是查不出数据来
解决方案 »
- 如何判断一个字符串是否是正整型???
- 在ASP.NET 2.0中,如何调用OCX控件
- 做一个调查,现在用2。0的有多少,用1。1的有多少
- 关于PROFESSIONAL ASP.NET1.1的问题
- 怎样做文件下载
- 如何更好解决ASP.net用户控件的相对路径问题?
- datagrid分页中的页数那一栏是否可以加入文字?
- 在线等,问个比较弱智的问题,请帮帮我。
- 求ASP.NET入门的好书。
- ^!^求助各位大侠一个关于从数据库中读取图片的问题(如何求得二进制字段的长度)
- 请问如何在日历控件中设置特殊日期的颜色,如国庆、清明等
- 请问在SQLHelper.cs中如何写一个调用存储过程且返回值为void的过程
原来用“*”号在ACCESS 2002视图里还可以,放在Asp.Net代码里就不行,改用“%”号在ACCESS 2002视图里都查不到数据了
OleDbCommand comm = new OleDbCommand("select 姓名 from 联系人 where 编号 like '*A12*'", conn);
object obj = comm.ExecuteScalar();
conn.Close();//输出编号包含‘A12’的姓名
if(obj != null)
lbMsg.Text = obj.ToString();
OleDbDataReader obj = comm.ExecuteReader();
while (obj.Read())
{
}
like '%A12%' - 没错,我刚刚试过
-------------------------------------------------------------------------------
要证明 like '%A12%' 是错的也很简单
建立个.mdb数据库,新建个“联系人”表,加两个字段“编号”、“姓名”,添加两条编号与“A12”数据相关数据,在查询视图中运行“select 姓名 from 联系人 where 编号 like '%A12%'”你看找到数据没?
like '%A12%' 这个只对SQL Server 适用, Access 用*,搞了半天也没弄好,只要加上 LIKE 子句就查不到数据
这句是没错的,如果不行,你可以试一下,把中文改成英文
返回NUll也可能你库里根本就没有符合条件的行
变量名就是
“select 姓名 from 联系人 where 编号 like '%"+A12+"%'”
直接使关键字就是
“select 姓名 from 联系人 where 编号 like '%A12%'”
变量名就是
“select 姓名 from 联系人 where 编号 like '%"+A12+"%'”
直接使关键字就是
“select 姓名 from 联系人 where 编号 like '%A12%'”
object obj = comm.ExecuteScalar();-->
OleDbDataReader obj=Comm.ExecuteQuery();
while (obj.Read())
{
..............
}
使用存储过程带参数则 like '%' + @name + '%' 回复人: scwzp(梦回彩云间)
试试把表名"联系人"改为英文的试一下,还有 like '%A12%'是正确的,对SQL,Access都有用……
------------------------------------------------------------------------------------
A12是关键词,like '%A12%' 对sql server肯定是正确的,但对Access怎么试都是错误的,Access用*代替%
再强调一次:like '*A12*'在Access查询视图里能找到数据,为何放在Asp.Net上来那段代码里就不能?可能因为执行环境的不同吧,用like '%A12%'也不行,还有其它写法么?
select 姓名 from 联系人 where 编号 like '*A12*'
这样取有值吗?
搞不好根本就是代码没写对。
还有access里name和password是保留字,“name”这些字段要写成“[name]”。
语法没有问题,有可能你的A12问题
换个数据查看