不知道为什么,数据写不进数据库,数据库里没数据。希望哪位好心人给解答。using System;
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();
        }
      
    }}

解决方案 »

  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.   

    你有数据库里面有“注册信息保存”这个表吗?有的话,改成下面的试试
     insertStr = "INSERT INTO [注册信息保存]([username],[password],[email]) VALUES (@username,@password,@email)";
      

  5.   

    谢谢各位了,不知道是不是把try catch finally去掉的原因,终于弄好了。给分
      

  6.   

        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去掉了终于解决了,哈哈。