“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------第 1 行: '=' 附近有语法错误。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 第 1 行: '=' 附近有语法错误。源错误: 
行 24:         adapter.SelectCommand = comm;
行 25:         DataSet ds = new DataSet();
行 26:         adapter.Fill(ds);
行 27:         DataGrid1.DataSource = ds.Tables[0].DefaultView;
行 28:         DataGrid1.DataBind();
 源文件: e:\WebSite\index.aspx    行: 26 堆栈跟踪: 
[SqlException (0x80131904): 第 1 行: '=' 附近有语法错误。]
   System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +857450
   System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +735062
   System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +188
   System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1838
   System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +31
   System.Data.SqlClient.SqlDataReader.get_MetaData() +62
   System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +297
   System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +886
   System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +132
   System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +32
   System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +122
   System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) +12
   System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +7
   System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +141
   System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +137
   System.Data.Common.DbDataAdapter.Fill(DataSet dataSet) +86
   ASP.index_aspx.Button_Click(Object sender, EventArgs e) in e:\WebSite\index.aspx:26
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102 
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.42

解决方案 »

  1.   

    adapter.SelectCommand.CommandText = comm;
      

  2.   

    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.SqlClient" %>
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="index.aspx.cs" Inherits="index" Debug=true %>
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <script runat="server">
       
        protected void Button_Click(object sender, EventArgs e)
        {
            string str = "server=localhost;database=sql.net;uid=sa;pwd=gmajlhx;Trusted_Connection=no";
            SqlConnection conn = new SqlConnection(str);
            conn.Open();
            string sql = "select * from userlist";        if (textbox.Text != "")
                 sql = sql + " where 姓名 ='" + textbox.Text + "'"; (where 前面空格)
            label.Text = sql;
            SqlCommand comm = new SqlCommand(sql, conn);
            SqlDataAdapter adapter = new SqlDataAdapter();
            adapter.SelectCommand = comm;
            DataSet ds = new DataSet();
            adapter.Fill(ds);
            DataGrid1.DataSource = ds.Tables[0].DefaultView;
            DataGrid1.DataBind();
            conn.Close();
        }
    </script>
    </head>
    <body>
        <form id="form1" runat="server">
    <asp:TextBox ID="textbox" runat="server" Width="220px"/>
    <asp:button ID="button" OnClick="Button_Click" runat="server" Text="查询"/>
    <asp:Label ID="label" runat="server"/>  
    <asp:DataGrid ID="DataGrid1" runat="server"/>
        </form>
    </body>
    </html>