我做了一个新闻的显示页,
string id=Request.QueryString["id"].Trim();
    int name=int.Parse(id);
System.Data.SqlClient.SqlDataReader reader;
command1.Parameters[0].Value=name;
connection1.Open();
reader=command1.ExecuteReader();
label1.Text=reader[1].ToString();
reader.Close();
connection1.Close();
             connection1.Open();可是为什么老不成功.照理说应该是成功的.可是问题出在什么地方?请大家指教!!!调试时给出的错误是: 1 行: '?' 附近有语法错误。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 第 1 行: '?' 附近有语法错误。源错误: 
行 29:  command1.Parameters[0].Value=name;
行 30:  connection1.Open();
行 31:  reader=command1.ExecuteReader();
行 32:  label1.Text=reader[1].ToString();
行 33:  reader.Close();
 大家要帮一下,老板都生气了.我看我要下苍了.

解决方案 »

  1.   

    string id=Request.QueryString["id"].Trim();
        int name=int.Parse(id);
    System.Data.SqlClient.SqlDataReader reader;
    command1.Parameters[0].Value=name;
    connection1.Open();
    reader=command1.ExecuteReader();
    label1.Text=reader[1].ToString();
    reader.Close();
    connection1.Close();
                 connection1.Open();
    中:
    command1.Parameters[0].Value=name;
     connection1.Open();
    ??????
      

  2.   

    你参考这种写法:::
    SqlConnection sqlcon  = new SqlConnection(Configuration.ConnectionString);
    SqlCommand sqlcom  =new SqlCommand();
    sqlcon.Open();
    sqlcom.Connection = sqlcon;
    sqlcom.CommandType = CommandType.StoredProcedure;

    sqlcom.Parameters.Add(new SqlParameter("@CommandType", SqlDbType.NVarChar, 20)); sqlcom.Parameters["@CommandType"].Value = sCommandType;
    sqlcom.Parameters["@SubProjectID"].Value = sSubProjectID;
             sqlcom.CommandText = "PolicyCensorAddProList";
    try
    {
    return sqlcom.ExecuteReader();
    }
    catch(Exception e)
    {
    return null;
    throw(e);
    }
      

  3.   

    可能是sql语句传参数错 或 command1的参数没传进去...
    select * from table where tab=@name 或
    SqlParameter param = cmd.Parameters.Add("@name", SqlDbType.VarChar, 50)
            param.Value = Username
    你试试吧!!
      

  4.   

    我的代码是从上页中取出id号,然后再传到下一页.再从数据库中取出id号为上页传来的,调出其中一行的新闻.可是为什么不成功.我用accss数据库就成功了.头晕呀!!!!!
      

  5.   

    string conn = PcFuntion.GetConnString();
    OleDbConnection  myConnection = new OleDbConnection(conn); string sb = "select * from libclass";

    OleDbCommand cmd = new OleDbCommand(sb,myConnection);
    myConnection.Open();
    OleDbDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
      

  6.   

    使用参数查询时,access与sql server是不一样的:
    access:SELECT columns FROM table WHERE condition = ?
    sql server: SELECT columns FROM table WHERE condition = @condition
      

  7.   

    cancersyf(fengzhimei).cinyulou 说的对.我的问题就这么解决了.谢谢大家的解答.