using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
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.Xml.Linq;
using System.Data.SqlClient;
public partial class 注册页面 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text == "" || TextBox2.Text == "" || TextBox3.Text == "" || TextBox4.Text == "")
{
Label1.Text = "注册信息没有填写完整";
}
else
{
Response.Redirect("Default.aspx");
}
string ConnectionStr, insertStr;
//连接字符串
ConnectionStr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\360DATA\重要数据\我的文档\VISUAL STUDIO 2008\期末作业\APP_DATA\用户信息.MDF;
Integrated Security=True;Connect Timeout=30;User Instance=True";
//创建连接对象
SqlConnection sqlCon = new SqlConnection(ConnectionStr);
//建立插入命令字符串
insertStr = "INSERT INTO 注册信息保存 ([username],[password],[email]) VALUES (@username,@password,@email)";
try
{
//打开数据
sqlCon.Open();
if (sqlCon.State == ConnectionState.Open)
{
//创建命令对象
SqlCommand sqlComm = new SqlCommand(insertStr, sqlCon);
sqlComm.Parameters.AddWithValue("@username", TextBox1.Text);
sqlComm.Parameters.AddWithValue("@password", TextBox2.Text);
sqlComm.Parameters.AddWithValue("@email", TextBox4.Text);
sqlComm.ExecuteNonQuery();
}
}
catch (SqlException exp)
{
Response.Write(exp.ToString());
}
finally
{
//关闭数据库
sqlCon.Close();
}
}
}
9 个解决方案
#1
System.Data.SqlClient.SqlException: 对象名 '注册信息保存' 无效。 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) 在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) 在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) 在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery() 在 注册页面.Button1_Click(Object sender, EventArgs e) 位置 d:\360data\重要数据\我的文档\Visual Studio 2008\期末作业\注册页面.aspx.cs:行号 57
错误信息
#2
去掉try catch finally,看看有没有出错。
#3
System.Data.SqlClient.SqlException: 对象名 '注册信息保存' 无效。 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) 在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) 在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) 在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery() 在 注册页面.Button1_Click(Object sender, EventArgs e) 位置 d:\360data\重要数据\我的文档\Visual Studio 2008\期末作业\注册页面.aspx.cs:行号 57
#4
。。。中文表名。。。
很显示,不存在表名为 注册信息保存 的表
很显示,不存在表名为 注册信息保存 的表
#5
你有数据库里面有“注册信息保存”这个表吗?有的话,改成下面的试试
insertStr = "INSERT INTO [注册信息保存]([username],[password],[email]) VALUES (@username,@password,@email)";
#6
为什么要中文做表名?
#7
好吧,我水了,纠结一上午拼命改代码,我把数据库删了重新写了个,所以表名自己换了也不知道。
#8
谢谢各位了,不知道是不是把try catch finally去掉的原因,终于弄好了。给分
#9
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text == "" || TextBox2.Text == "" || TextBox3.Text == "" || TextBox4.Text == "")
{
Label1.Text = "注册信息没有填写完整";
}
string ConnectionStr, insertStr;
//连接字符串
ConnectionStr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\360DATA\重要数据\我的文档\VISUAL STUDIO 2008\期末作业\APP_DATA\用户信息.MDF;
Integrated Security=True;Connect Timeout=30;User Instance=True";
//创建连接对象
SqlConnection sqlCon = new SqlConnection(ConnectionStr);
//建立插入命令字符串
insertStr = "INSERT INTO 用户信息保存 ([username],[password],[email]) VALUES (@username,@password,@email)";
//打开数据
sqlCon.Open();
if (sqlCon.State == ConnectionState.Open)
{
//创建命令对象
SqlCommand sqlComm = new SqlCommand(insertStr, sqlCon);
sqlComm.Parameters.AddWithValue("@username", TextBox1.Text);
sqlComm.Parameters.AddWithValue("@password", TextBox2.Text);
sqlComm.Parameters.AddWithValue("@email", TextBox4.Text);
sqlComm.ExecuteNonQuery();
}
//关闭数据库
sqlCon.Close();
if (sqlCon.State != ConnectionState.Open)
{
Response.Redirect("Default.aspx");
}
真心累啊,原来是条件语句导致数据存不进去,果然跟我最初想的一样,我把else去掉了终于解决了,哈哈。
#1
System.Data.SqlClient.SqlException: 对象名 '注册信息保存' 无效。 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) 在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) 在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) 在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery() 在 注册页面.Button1_Click(Object sender, EventArgs e) 位置 d:\360data\重要数据\我的文档\Visual Studio 2008\期末作业\注册页面.aspx.cs:行号 57
错误信息
#2
去掉try catch finally,看看有没有出错。
#3
System.Data.SqlClient.SqlException: 对象名 '注册信息保存' 无效。 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) 在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) 在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) 在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery() 在 注册页面.Button1_Click(Object sender, EventArgs e) 位置 d:\360data\重要数据\我的文档\Visual Studio 2008\期末作业\注册页面.aspx.cs:行号 57
#4
。。。中文表名。。。
很显示,不存在表名为 注册信息保存 的表
很显示,不存在表名为 注册信息保存 的表
#5
你有数据库里面有“注册信息保存”这个表吗?有的话,改成下面的试试
insertStr = "INSERT INTO [注册信息保存]([username],[password],[email]) VALUES (@username,@password,@email)";
#6
为什么要中文做表名?
#7
好吧,我水了,纠结一上午拼命改代码,我把数据库删了重新写了个,所以表名自己换了也不知道。
#8
谢谢各位了,不知道是不是把try catch finally去掉的原因,终于弄好了。给分
#9
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text == "" || TextBox2.Text == "" || TextBox3.Text == "" || TextBox4.Text == "")
{
Label1.Text = "注册信息没有填写完整";
}
string ConnectionStr, insertStr;
//连接字符串
ConnectionStr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\360DATA\重要数据\我的文档\VISUAL STUDIO 2008\期末作业\APP_DATA\用户信息.MDF;
Integrated Security=True;Connect Timeout=30;User Instance=True";
//创建连接对象
SqlConnection sqlCon = new SqlConnection(ConnectionStr);
//建立插入命令字符串
insertStr = "INSERT INTO 用户信息保存 ([username],[password],[email]) VALUES (@username,@password,@email)";
//打开数据
sqlCon.Open();
if (sqlCon.State == ConnectionState.Open)
{
//创建命令对象
SqlCommand sqlComm = new SqlCommand(insertStr, sqlCon);
sqlComm.Parameters.AddWithValue("@username", TextBox1.Text);
sqlComm.Parameters.AddWithValue("@password", TextBox2.Text);
sqlComm.Parameters.AddWithValue("@email", TextBox4.Text);
sqlComm.ExecuteNonQuery();
}
//关闭数据库
sqlCon.Close();
if (sqlCon.State != ConnectionState.Open)
{
Response.Redirect("Default.aspx");
}
真心累啊,原来是条件语句导致数据存不进去,果然跟我最初想的一样,我把else去掉了终于解决了,哈哈。