• 全部
  • C#综合技术
  • C#互联网桌面应用
  • AppLauncher
  • WinForm&WPF
  • C#开发新技术
  • 问答

菜鸟高分求助!!!!!!!!!!!!!!!!

yushuiqun 2012-08-21 06:11:36
我有一个user表,里面有name、password、email这三个字段,现在弄一个注册页面,后台代码如下
using System;
using System.Configuration;
using System.Data;

using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Data.SqlClient;
using System.Data.Sql;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
System.Data.SqlClient.SqlConnection conn = new SqlConnection();
conn.ConnectionString = ConfigurationManager.ConnectionStrings["userConnectionString"].ConnectionString;
conn.Open();
SqlCommand Cmd=new SqlCommand();
Cmd.Connection=conn;
Cmd.CommandText="select[name]form[User]";
SqlDataReader dr = Cmd.ExecuteReader();
while(dr.Read())
{
if(dr.GetString(0)==TextBox1.Text)
{
Label3.Text=TextBox1+"已经存在!";
conn.Close();
return;
}
}
conn.Close();
string SqlStr;
SqlStr="Insertinto[User]([name][password],[email])values(@name,@password,@email)";
Cmd.CommandText=SqlStr;
SqlParameter para1=new SqlParameter("@name",SqlDbType.VarChar,50);
para1.Value=TextBox1.Text;
Cmd.Parameters.Add(para1);

SqlParameter para2=new SqlParameter("@password",SqlDbType.VarChar,50);
para1.Value=TextBox2.Text;
Cmd.Parameters.Add(para2);

SqlParameter para3=new SqlParameter("@email",SqlDbType.VarChar,50);
para1.Value=TextBox3.Text;
Cmd.Parameters.Add(para3);
try
{
conn.Open();
Cmd.ExecuteNonQuery();
Label3.Text="恭喜你,注册成功";
}
catch(SqlException sqlException)
{Response.Write(sqlException.Message);}

finally
{
if(conn.State==ConnectionState.Open)
conn.Close();
}

}
}

运行出错,找了半天找不到,到底错在那里
...全文
195 点赞 收藏 24
写回复
24 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Arsenal_cxz 2012-08-24
是不是 ''的问题。sql语句要写好啊
回复
wanghui49 2012-08-22
select [name] from [User]
你把这条语句放到数据库里执行一下,看报错不
回复
E次奥 2012-08-22
SQL语句每个关键字之间用空格隔开!
回复
E次奥 2012-08-22
SqlStr="Insertinto[User]([name][password],[email])values(@name,@password,@email)";
明显缺少空格啊,肯定出错。

SQL语句到数据库执行一下。

这问题基本上可以确定是SQL语句的问题!
回复
LbjHeat6 2012-08-22
应该是sql语句出了问题。。
回复
JXYDhaostyle 2012-08-22
sql语句的问题 把sql语句贴到sql查询里面测试去。
回复
maji_lulu 2012-08-22
你是user表?还是User表啊?

select [name] from [user] ?????
select [name] from [User] ?????
回复
maji_lulu 2012-08-22
select [name] from [User]
你这句在数据库上能执行吗?
回复
yushuiqun 2012-08-22
不行啊,我加了空格还是出现这样的错误
邮箱验证”应用程序中的服务器错误。
--------------------------------------------------------------------------------

对象名 'User' 无效。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 对象名 'User' 无效。

源错误:


行 26: Cmd.Connection=conn;
行 27: Cmd.CommandText="select [name] from [User]";
行 28: SqlDataReader dr = Cmd.ExecuteReader();
行 29: while(dr.Read())
行 30: {


源文件: d:\Documents\Visual Studio 2008\WebSites\邮箱验证\Default.aspx.cs 行: 28
回复
yushuiqun 2012-08-22
呵呵,我明白了,感谢大家的发言,我犯糊涂了,我那个是user数据库,里面的表是xingkong1表,那怪查询语句出错了的。还有关于sql查询语句,那里可以不需要空格"select[name]from[xingkong1]";
回复
yushuiqun 2012-08-22
呵呵,我明白了,感谢大家的发言,我犯糊涂了,我那个是user数据库,里面的表是xingkong1表,那怪查询语句出错了的。还有关于sql查询语句,那里可以不需要空格"select[name]from[xingkong1]";
回复
cnmbdqs 2012-08-22
把from写成form了!我有事我也习惯这样!
回复
yushuiqun 2012-08-22
哦,谢谢各位,我在测试一下
回复
c2606050113 2012-08-22
垃圾代码 错误百出 设断点一步一步调试去
回复
A7308A2105 2012-08-21
[Quote=引用 5 楼 的回复:]
这个sql语句之间最好要有空格,select [name] from [User]。
[/Quote]

看错误提示,很容易知道是SQL语法错
回5楼
不是最好,是一定要,没空格肯定是错的
回复
楼主,XX附近有语法错误。 一般都是SQL语法错误,可以把sql语句提取出来放在sql server里面一看就知道了
回复
yushuiqun 2012-08-21
天啊
[Quote=引用 4 楼 的回复:]
Cmd.CommandText="select[name]form[User]";

form —> from
[/Quote]
回复
SqlStr="Insert into[User]([name][password],[email]) values (@name,@password,@email)";
insertinto中间要有空格
回复
qxyywy 2012-08-21
没细看 sql 语句问题 尽量少用关键字
回复
guwei4037 2012-08-21
这个sql语句之间最好要有空格,select [name] from [User]。
回复
加载更多回复
相关推荐
发帖
C#
创建于2007-09-28

10.5w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2012-08-21 06:11
社区公告

让您成为最强悍的C#开发者