"SELECT fproduct_id FROM PM_Product WHERE (fcp_bh = '" + str产品编号 + "')";这个里面 WHERE(fcp_bh='"+str产品编号+"')是怎么个解释方法?

解决方案 »

  1.   

    你这个应该是c#的语法"SELECT fproduct_id FROM PM_Product WHERE (fcp_bh = '" + str产品编号 + "')";
    双引号:
    "SELECT fproduct_id FROM PM_Product WHERE (fcp_bh = '" 是一对"')"是一对当这个c#的语句被执行后。会变成SELECT fproduct_id FROM PM_Product WHERE (fcp_bh = '001')假设编号是001
    所以两个单引号就是一对了
      

  2.   

    你这个是在程序中的sql字符串,你应该这么看
    "SELECT fproduct_id FROM PM_Product WHERE (fcp_bh = '" 
    + str产品编号 (变量)
    + "')"分解看 第一行是一个字符串+一个变量+字符串,哪个'单引号是为了构造出的sql语句给 str产品编号 这个变量带上引号
    假如str产品编号 = '001'
    即在sql中将变成
    SELECT fproduct_id FROM PM_Product WHERE (fcp_bh = '001') 
      

  3.   

    由于外面已经有两个引号了,所以里面会有3可以print出来看看
    实际效果就是SELECT fproduct_id FROM PM_Product WHERE (fcp_bh = 'str产品编号')
      

  4.   

    你这象vb的语法。
    整个字符串由三部分组成:
    1."SELECT fproduct_id FROM PM_Product WHERE (fcp_bh = '"
    2.变量 str产品编号
    3."')"3部分连接后就成了语句:
    SELECT fproduct_id FROM PM_Product WHERE (fcp_bh = '产品编号')提示:在sql存储过程中也是可以用双引号表示字符串的,不过要设置开关SET QUOTED_IDENTIFIER OFF 
      

  5.   

    这个就是在系统开发环境下组合出能够直接在SQL中运行语句的方式。
    开发环境要求的字符串必须以“为界定符,其中包含的‘是SQL中区分字符串的必须界定符。
      

  6.   

    str产品编号应该是个字符串变量这好像是在C#中写 的吧WHERE(fcp_bh='"+str产品编号+"')里面两个双引号是 把字符串 串联起来!运行时实际是WHERE(fcp_bh='str产品编号') 如str产品编号='001'时 WHERE(fcp_bh='001')
      

  7.   

    这一句应该是在程序语言中的句子。str产品编号是一个字符串变量。
    而这句本身就是给另外一个字符串变量赋值,前面两个双引号之间是一个客串,在加上str产品编号,然后最后两个双引号之间是另外一个字符串,两个单引号是在SQL中执行要用到的,因为WHERE (fcp_bh = '" + str产品编号 + "') 执行的是 where (fcp_bh='cp01') ,如果不加的话,就是 where (fcp_bh=cp01),而这在SQL中是执行不了的。
      

  8.   

    + str产品编号 +,应当是个字符串变量
      

  9.   

    SELECT fproduct_id FROM PM_Product WHERE (fcp_bh = ' --这是第一段
    str产品编号 --第二段
    ') --第三段
    --连起来就是
    SELECT fproduct_id FROM PM_Product WHERE (fcp_bh = 'str产品编号')
    --因为这段语句整个被当成了一个string了(我估计),所以要用""。