| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 703 人关注过本帖
标题:新手求助VS2005里的SQL问题
只看楼主 加入收藏
hrlandyk
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-11-25
收藏
 问题点数:0 回复次数:8 
新手求助VS2005里的SQL问题
登录窗口中,验证输入的ID和PASSWORD是否与数据库lczf里的User表的一致,代码如下:

[align=left]public partial class FormLogin : Form

[/align]

[align=left]
{

[/align]

[align=left]
#region
Static Fields

[/align]

[align=left]
public static SqlConnection cnn;

[/align]

[align=left]
public static SqlDataAdapter da;

[/align]

[align=left]
public const string ConnectionString = "Data Source=LCZF;Initial Catalog=lczf;Integrated Security=True";

[/align]

[align=left]
#endregion

[/align]

[align=left]

[/align]

[align=left]
public FormLogin()

[/align]

[align=left]
{

[/align]

[align=left]
InitializeComponent();

[/align]

[align=left]
}

[/align]

[align=left]

[/align]

[align=left]

[/align]

[align=left]
private void buttonLogin_Click(object sender, EventArgs e)

[/align]

[align=left]
{

[/align]

[align=left]
string name = textBoxLoginName.Text, word = textBoxLoginPassWord.Text;

[/align]

[align=left]

[/align]

[align=left]
cnn = new SqlConnection();

[/align]

[align=left]
cnn.ConnectionString = ConnectionString;

[/align]

[align=left]
cnn.Open();

[/align]

[align=left]
SqlCommand cmd = cnn.CreateCommand();

[/align]

[align=left]
= "SELECT UserName,PassWord FROM User";

[/align]

[align=left]
SqlDataReader dr = cmd.ExecuteReader();

[/align]

[align=left]
while (dr.Read())

[/align]

[align=left]
{

[/align]

[align=left]
if ((dr.GetValue(0).ToString()) == (name.ToString()))

[/align]

[align=left]
{

[/align]

[align=left]
if (dr.GetValue(1).ToString() == (word.ToString()))

[/align]

[align=left]
{

[/align]

[align=left]
textBoxLoginName.Text = "true";

[/align]

[align=left]
}

[/align]

[align=left]
}

[/align]
}


运行后错误出现在:  SqlDataReader dr = cmd.ExecuteReader();
错误提示:          [size=3][font=宋体]在关键字 'User' 附近有语法错误。[/size][/font]
[size=3]
[/size]

[size=3][font=宋体]错误是否是出现在[size=2]public const string ConnectionString = "Data Source=LCZF;Initial Catalog=lczf;Integrated Security=True";[/size][/size][/font]
[font=宋体]还是在 = "SELECT UserName,PassWord FROM User";[/font]
[font=宋体]请各位DX指教
[/font]
搜索更多相关主题的帖子: SQL 
2007-11-25 10:16
梦心
Rank: 4
来 自:福建平和
等 级:贵宾
威 望:13
帖 子:1910
专家分:0
注 册:2007-5-11
收藏
得分:0 
曾经我做过类似的案例,也是一样的错误
我的错误是表名有问题,我把表名从user改为info就正确了
我也不知道怎么回事,楼主你再试试~
收到的鲜花
  • 静夜思2007-11-25 11:59 送鲜花  2朵   附言:我很赞同

我清高和我骄傲的倔强,在风中大声的唱:我不听,我不听~~做我自己最特别,呼呼~~啦啦~~~
我的博客园地址: [url]http://[/url]
2007-11-25 10:58
hrlandyk
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-11-25
收藏
得分:0 
谢谢楼上的兄弟指教!
我从别的地方知道了问题所在:User是个关键字,所以提示"在关键字 'User' 附近有语法错误。"
解决办法:  将user加上[ ]即可

谢谢告诉我解决办法的兄弟
2007-11-25 17:20
andey
Rank: 2
等 级:新手上路
威 望:4
帖 子:938
专家分:0
注 册:2007-7-18
收藏
得分:0 
user应该是sql的保留字吧

msdn == 葵花宝典!!!
QQ:122768959
2007-11-26 14:27
guoxhvip
Rank: 8Rank: 8
来 自:聖西羅南看臺
等 级:贵宾
威 望:44
帖 子:4052
专家分:135
注 册:2006-10-8
收藏
得分:0 
user是sql的保留字 写users吧

愛生活 && 愛編程
2007-11-26 15:59
marer
Rank: 2
等 级:新手上路
威 望:3
帖 子:928
专家分:0
注 册:2005-7-18
收藏
得分:0 
在SQL语句的User写成这样:[User]就可以了,为什么要改表名?

public class 人生历程 extends Thread{public void run(){while(true){努力,努力,再努力!!;Thread.sleep(0);}}}
2007-11-26 17:44
marer
Rank: 2
等 级:新手上路
威 望:3
帖 子:928
专家分:0
注 册:2005-7-18
收藏
得分:0 
类似错误发现并知道其原因的方法:当出现类似错误时把你的SQL语句贴到“查询分析器”上运行一下,如果是关键字的话,这个单词会变成粉色,记住,在写SQL语句时所有的关键字要加上:[ ]。例如:select * from [User]

public class 人生历程 extends Thread{public void run(){while(true){努力,努力,再努力!!;Thread.sleep(0);}}}
2007-11-26 17:47
hrlandyk
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-11-25
收藏
得分:0 
我是按照楼上DX的做法解决的,即:  select * from [User]
不必改表名,加上[ ]就可以了

谢谢各位DX
2007-11-27 09:01
达文西
Rank: 1
等 级:新手上路
威 望:1
帖 子:117
专家分:0
注 册:2007-8-4
收藏
得分:0 
2007-11-27 10:01
快速回复:新手求助VS2005里的SQL问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033214 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved