构建一个简单的数据库用于测试protected void addinfo_Click(object sender, EventArgs e)
    {
        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["connect2testdb"].ConnectionString);        SqlCommand insertcmd = new SqlCommand("insert into userinfo(username,userold) value(@username,@userold)", conn);        insertcmd.Parameters.Add("@username", SqlDbType.VarChar, 50);
        insertcmd.Parameters.Add("@userold", SqlDbType.SmallInt);        insertcmd.Parameters["@username"].Value = username.Text;
        insertcmd.Parameters["@userold"].Value = int.Parse(userold.Text);        conn.Open();
        insertcmd.ExecuteNonQuery();        conn.Close();
    }
出现如下错误:用户代码未处理 System.Data.SqlClient.SqlException
  Message="'value' 附近有语法错误。"
  Source=".Net SqlClient Data Provider"
  ErrorCode=-2146232060
  Class=15
  LineNumber=1
  Number=102
  Procedure=""
  Server="127.0.0.1"
  State=1
  StackTrace:
       在 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()
       在 addinfo2db.addinfo_Click(Object sender, EventArgs e) 位置 c:\test\addinfo2db.aspx.cs:行号 34
       在 System.Web.UI.WebControls.Button.OnClick(EventArgs e)
       在 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
       在 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
       在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
       在 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
       在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
我是看了一个书上的例子,写的
这样的错误是什么意思?
语法错误,为什么还可以在VS2005中运行起来呢?

解决方案 »

  1.   

    以前用ACCESS也没这么多的问题大型数据库就是......
      

  2.   

    SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["connect2testdb"].ConnectionString); 
    在这句话的配置中去看看 你机子的环境跟书上的又不一样 可能有些东西不同
      

  3.   

    哦:
    你好象是connection的连接有错误。
       SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["connect2testdb"].ConnectionString);
    改为:
    SqlConnection conn=new SqlConnection( "Data Source=(local);Initial Catalog=数据库 ;User ID=sa;Password=sa";);
      

  4.   


    Message="'value' 附近有语法错误。"你少写了一个字母嘛SqlCommand insertcmd = new SqlCommand("insert into userinfo(username,userold) values(@username,@userold)", conn);不是value ,是values
      

  5.   

    我在WEBCONFIG文件中已经建立了连接自己测试数据库的连接串这个串可以正常读取数据,没有问题,就是添加数据的时候出现问题~~~
      

  6.   

    是嘛,连接自己测试数据库的连接串是正确的嘛,添加数据的时候出现问题是报Message="'value' 附近有语法错误。"这个错误吗?那就是我说的那个SQL语句有问题嘛,我帮你拿到查询分析器里面试过了。
      

  7.   

    INSERT INTO shoelace_data VALUES ( NEW.sl_name,.................)
    别人的sql语句都是这样,就你的
    ("insert into userinfo(username,userold) value(@username,@userold)", conn);
    打成这个样子!!!value和values是不一样的!!!!请仔细检查你的代码和书上的代码强烈bs粘贴 帖!!!