博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Incorrect syntax near the keyword 'user'.解决方案
阅读量:5755 次
发布时间:2019-06-18

本文共 1535 字,大约阅读时间需要 5 分钟。

其实,这只是一个很小很小的问题,真的很小,可是却让我花费了整整一个小时的时间!~~

事情是这样子的,公司一个很要好的同事因为他先前学JAVA的,可能最近项目上需求需要学习.NET,所以就遇到取数据库的问题,刚开始想这多简单啊!~,然后他就创建了一个表,user,有3个字段,id,username和password。

远程连接到他的电脑,开始操作。

如下:

然后,帮他写了一个里面取username和password的sql语句:

string connStr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Desktop\ProjectTest\练习项目集中营\Haha\WebApplication1\App_Data\Database1.mdf;Integrated Security=True;User Instance=True";            using (SqlConnection conn = new SqlConnection(connStr))            {                conn.Open();                using (SqlCommand cmd = new SqlCommand())                {                    cmd.CommandText = "Select * from user where id='" + 1 + "'";//这里需要注意,我用了 user 这个表名 悲剧从这里开始。。                    cmd.Connection = conn;                    SqlDataReader reader = cmd.ExecuteReader();                    while (reader.Read())                    {                        string user = Convert.ToString(reader["username"]);                        string pass = Convert.ToString(reader["password"]);                    }                }            }

然后,点确定,很开心的等啊等。。

等到一个错误!~

说什么user语法错误?其实,我很粗心 没有看到keyword 这个东东。。然后,我就在找sql语句,或者是我上面的逻辑不清楚,百度。。

一个小时之后。。。

我猛然想起,keyword这个东东。然后在博客园找到了SQL的关键字。

园子们可以到上面看看!~~~~

诶,其实 都是粗心惹的货呀,看下面:

在postgresql、sql99以及sql92都把user作为保留字了!~经验啊经验啊!!!既然是保留字,就不能用了(是不是很霸道!~,不过木有办法啊!)

后来,我在google查了这个消息,发现很多人都有遇到这个问题:

原来那么多人都不认真,呵呵 希望这篇文章能给你带来帮助!~。

扯淡了 那么多,那解决就很简单了吧!

1.重命名表名。。这个方法很土。

2.在user这个外面加个[],比如[user] 这样就可以了。。。

其实,这里重要的还是表命名的问题,只要我们在平时多注意下就可以了。

提供个建议:

比如 user表,那么我们这样命名: t_user 那这样就不会冲突了,又很直观!~~~

转载地址:http://opckx.baihongyu.com/

你可能感兴趣的文章
VMware克隆Linux虚拟机后网卡无法启动
查看>>
NFS客户端配置为开机自动挂载报错(二)
查看>>
Android系统联系人全特效实现(上),分组导航和挤压动画
查看>>
mysql中You can't specify target table for update in FROM clause错误
查看>>
eclipse插件开发总结
查看>>
[学习笔记]在win7上安装hadoop环境
查看>>
计算经纬度距离工具类
查看>>
14679
查看>>
数据结构常用排序(java)
查看>>
页码部分的js
查看>>
类 详解:合成存取
查看>>
js去除重复数值
查看>>
专注C/C++的博客【2012年度IT博客大赛分类推荐】
查看>>
大家好!
查看>>
编译busybox出现cannot find -lcrypt错误
查看>>
服务器选型计算
查看>>
mysql 参数read_rnd_buffer_size的真正含义
查看>>
使用ADMT3.2迁移2008AD域(三)----用户的迁移(生成复杂密码)
查看>>
我的友情链接
查看>>
C#网络编程(1)
查看>>