这个sql语句有什么问题?
                         string txt=txtTest.Text;
string sqlstr="SELECT * FROM news WHERE author='+txt+'";
                        message.Text=txt;

                        //string sqlstr="SELECT * FROM news WHERE author='张苹'"; SqlCommand cmd=new SqlCommand();
cmd.Connection=conn;
cmd.CommandText=sqlstr;
                
                          conn.Open();
        dg.DataSource=cmd.ExecuteReader();
dg.DataBind();
conn.Close();
标题:这个sql语句有什么问题?
     对比以上两个sql语句,第一个用字符串变量设定条件。但是却没有结果显示,换成字符串常量‘张苹’,dg则显示对应的结果。但message标签也能正常显示txt为‘张苹’。请问这是怎么回事。

解决方案 »

  1.   

    string sqlstr="SELECT * FROM news WHERE author='"+txt+"'";
      

  2.   

    string sqlstr="SELECT * FROM news WHERE author='"+txt+"'";
      

  3.   

    string sqlstr="SELECT * FROM news WHERE author='"+txt+"'";
      

  4.   

    string sqlstr="SELECT * FROM news WHERE author='"+txt+"'";注意对txt进行过滤,防止注入.
      

  5.   

    string sqlstr="select * from news where author='"+txt+"'";
      

  6.   

    '  "+txt+  "' 的结构是怎么回事,为什么要两层引号?
      

  7.   

    具体的我也不清楚 
    只是知道 在这些地方要这么做 
    是STRING 类型就这样 是一个语法需要吧
      

  8.   

    两层引号是因为author='张苹'之中,author是字符型的,大哥!!!!!!!!!!!!!!!!!!!!!!!!!