我看了一个留言版的源代码。。是用oledb的。。我把他转换为SQL数据库的。。然后在插入数据的时候留言版的源代码是
protected void btnInsertClicked(object sender, EventArgs e)
  {
   String userName = this.txtUserName.Text.Replace("'", "");
   String userSex = this.rdoSex.SelectedValue.Replace("'", "");
   String headPic = this.rdoHeadPic.SelectedValue.Replace("'", "");
   String userEmail = this.txtUserEmail.Text.Replace("'", "");
   String userQQ = this.txtQQ.Text.Replace("'", "");
   String userIP = Request.UserHostAddress;
   String postContent = this.txtContent.Text.Replace("'", "'");
   String sql = "Insert into [GuestBook](UserName, UserSex, HeadPic, UserEmail, UserQQ, UserIP, PostContent)" 
    + "Values ('" + userName + "', '" + userSex + "', '" + headPic + "', '" + userEmail + "', '" + userQQ + "','" + userIP + "', '" + postContent + "')";
   
  
   //数据库操作
   //**************************************************************************
   String dbString = ConfigurationSettings.AppSettings["OleDbConnectionString"];
   String connectionString = String.Format(dbString, Server.MapPath("~"));
   //建立数据库连接对象
   OleDbConnection conn = new OleDbConnection(connectionString);
   //建立数据库操作命令对象
   OleDbCommand cmd = conn.CreateCommand();
   //设定命令类型为Sql文本,如是CommandType.StoredProcedure则为存储过程。
   cmd.CommandType = CommandType.Text;
   //指定文命令文本
   cmd.CommandText = sql;
   try
   {
    conn.Open();
   }
   catch(Exception ee)
   {
    conn.Dispose();
    Response.Write("数据库连接字符串配置错误,请联系管理员;" + ee.ToString());
   }
   try
   {
    cmd.ExecuteNonQuery();
    Response.Write("<script language='javaScript'>\n");
    Response.Write("alert('你的留言已成功保存,谢谢。');\n");
    Response.Write("do***ent.location.href='ShowLeaveWordList.aspx';\n");
    Response.Write("</script>");
   }
   catch(Exception eee)
   {
    Response.Write("数据插入出错,请联系管理员;" + eee.ToString());
   }
   finally
   {
    //此处注意:不管catch有没有捕获到错误,在finally区间的代码,都会执行。
    cmd.Dispose();
    conn.Dispose();
   }
   //**************************************************************************
   
  }这段。。而我用的是另外一种方式。。怎么就不行呢??插入不了数据。。代码如下private void subbmit_Click(object sender, System.EventArgs e)
  {
   string con=ConfigurationSettings.AppSettings["dsn"];
   conn=new SqlConnection(con);
   cmd=new SqlCommand("gt_addGuestbook",conn);
   cmd.CommandType=CommandType.StoredProcedure;
   cmd.Parameters.Add(new SqlParameter("@username",SqlDbType.Char,20));
   cmd.Parameters["@username"].Value=txtUserName.Text.Trim();
   cmd.Parameters.Add(new SqlParameter("@usersex",SqlDbType.Char,10));
   cmd.Parameters["@usersex"].Value=rdoSex.SelectedValue;
   cmd.Parameters.Add(new SqlParameter("@userqq",SqlDbType.Char,20));
   cmd.Parameters["@userqq"].Value=txtQQ.Text.Trim();
   cmd.Parameters.Add(new SqlParameter("@useremail",SqlDbType.Char,50));
   cmd.Parameters["@useremail"].Value=txtUserEmail.Text.Trim();
   cmd.Parameters.Add(new SqlParameter("@headpic",SqlDbType.Char,255));
   cmd.Parameters["@headpic"].Value=rdoHeadPic.SelectedValue;
   cmd.Parameters.Add(new SqlParameter("@postcontent",SqlDbType.NText));
   cmd.Parameters["@postcontent"].Value=txtContent.Text.Trim();   try
   {
    conn.Open();
    cmd.ExecuteNonQuery();
    Response.Write("<script language='javaScript'>\n");
    Response.Write("alert('你的留言已成功保存,谢谢。');\n");
    Response.Write("do***ent.location.href='ShowLeaveWordList.aspx';\n");
    Response.Write("</script>");
   }
   catch(SqlException error)
   {
    Response.Write("出错"+error.Message);
   }
   conn.Close();
  }储存过程gt_addGuestbook我是这样写的CREATE PROCEDURE gt_addGuestbook 
(@username [char](20),
@usersex [char](10),
@userqq [char](20),
@useremail [char](50),
@headpic [char](255),
@postcontent [ntext]) 
AS insert into [db_guestbook] 
([username],
[usersex],
[userqq],
[useremail],
[headpic],
[postcontent]) 
values (@username,@usersex,@userqq,@useremail,@headpic,@postcontent)
GO请各位大虾帮我看看~~~谢谢了~~

解决方案 »

  1.   

    我帮你把第一段改了,复制走吧
    protected void btnInsertClicked(object sender, EventArgs e)
      {
       String userName = this.txtUserName.Text.Replace("'", "");
       String userSex = this.rdoSex.SelectedValue.Replace("'", "");
       String headPic = this.rdoHeadPic.SelectedValue.Replace("'", "");
       String userEmail = this.txtUserEmail.Text.Replace("'", "");
       String userQQ = this.txtQQ.Text.Replace("'", "");
       String userIP = Request.UserHostAddress;
       String postContent = this.txtContent.Text.Replace("'", "&#39;");
       String sql = "Insert into [GuestBook](UserName, UserSex, HeadPic, UserEmail, UserQQ, UserIP, PostContent)" 
        + "Values ('" + userName + "', '" + userSex + "', '" + headPic + "', '" + userEmail + "', '" + userQQ + "','" + userIP + "', '" + postContent + "')";
       
      
       //数据库操作
       //**************************************************************************
       String dbString = ConfigurationSettings.AppSettings["OleDbConnectionString"];
       String connectionString = String.Format(dbString, Server.MapPath("~"));
       //建立数据库连接对象
       SqlConnection conn = new SqlConnection(connectionString);
       //建立数据库操作命令对象
       SqlCommand cmd = conn.CreateCommand();
       //设定命令类型为Sql文本,如是CommandType.StoredProcedure则为存储过程。
       cmd.CommandType = CommandType.Text;
       //指定文命令文本
       cmd.CommandText = sql;
       try
       {
        conn.Open();
       }
       catch(Exception ee)
       {
        conn.Dispose();
        Response.Write("数据库连接字符串配置错误,请联系管理员;" + ee.ToString());
       }
       try
       {
        cmd.ExecuteNonQuery();
        Response.Write("<script language='javaScript'>\n");
        Response.Write("alert('你的留言已成功保存,谢谢。');\n");
        Response.Write("do***ent.location.href='ShowLeaveWordList.aspx';\n");
        Response.Write("</script>");
       }
       catch(Exception eee)
       {
        Response.Write("数据插入出错,请联系管理员;" + eee.ToString());
       }
       finally
       {
        //此处注意:不管catch有没有捕获到错误,在finally区间的代码,都会执行。
        cmd.Dispose();
        conn.Dispose();
       }
       //**************************************************************************
       
      }
      

  2.   

    注意一开始Using System.Data.SqlClient;
      

  3.   

    string con=ConfigurationSettings.AppSettings["dsn"];
       conn=new SqlConnection(con);//SqlConnection conn = new SqlConnection(connectionString);
       cmd=new SqlCommand("gt_addGuestbook",conn);//sqlCommand cmd=new SqlCommand("gt_addGuestbook",conn);
    你的错误是什么,贴出来
    然后,因为不知道上面的代码,所以不知道是不是这个原因
    你的conn没有定义,cmd有没有定义
      

  4.   

    缺少fianlly
    你把错误贴出来看看