switch(Request.QueryString["flag"].ToString())
{
case "1":
sqlstr="select vhostprice,id from [v-host] where id="+id.ToString();
break;
case "2":
break;
case "3":
break;
case "4":
sqlstr="select postprice,id from post-host where id="+id.ToString();
break;
default:
break;
}
SqlDataAdapter myad=new SqlDataAdapter(sqlstr,myconn);
如我上面所写的
提示:Invalid object name 'v-host'. 这个表是存在的,而且 我在其它地方也是这用写的SQL语句,不知道为什么在这里就出错了。

解决方案 »

  1.   

    sqlstr=@"select vhostprice,id from [v-host] where id="+id.ToString();
      

  2.   

    v-host是一个数据表的名称吗?为什么要加一个中括号呢?我在使用的时候,都不加中括号,也没问题。还有,如果v-host是作为变量名的话,那应该是不合法的,因为变量名只包括三种符号(数字、下划线、字母),并且不能以数字开头。
      

  3.   

    to:peoplezhou(小库)
    V-host是表名
    不加中括号的话,会是不合法的,也会出错
      

  4.   

    请问一下,你数据库中的id类型是什么,如果是自动编号类型或数字类型,就不应该用id.ToString()方法,而应该转换为数字类型。
      

  5.   

    sqlstr="select vhostprice,id from [v-host] where id="+id.ToString();这句话没有问题。你应该到查询分析器里运行一下,要么就是数据库选错了。
      

  6.   

    错误不在那里
    去掉中括号的话
    提示“Line 1: Incorrect syntax near '-'. ”
      

  7.   

    []可能是对的。
    如果数据库中id真的是字符串类型的话,那么语句应该这样写:
    sqlstr="select vhostprice,id from [v-host] where id='"+id.ToString()+"'";
      

  8.   

    一语道破呀。jinzhouk() 
    我有两个数据库连接语句,我选错了。
    真不好意思,各位兄弟       谢谢你们。
      

  9.   

    补充一下
    ID是INT 型的
    sqlstr="select vhostprice,id from [v-host] where id="+id.ToString();
    这样写SQL语句也不会出错。