如何引用SQL语句

时间:2022-06-17 01:02:31
请问大家我下面这个语句对吗?

strSQL="update COUNTER set COUNTER_VALUE="+str+"whereID='P'";                 


在vc中要写SQL语句,要有些什么规则,比如单引号,双引号等,如

    strSQL="insert into PERSON(ID,PASSWD,NAME,SEX,BIRTHDAY,DEPARTMENT,JOB,EDU_LEVEL,SPECIALTY,ADDRESS,TEL,EMAIL,REMARK)\
               values('"+m_strID+"','"+strPasswd+"','"+m_strName+"','"+strSex+"','"+m_strBirthday+"','"+strDepID+"','"+strEduID+"','"+
                        m_strSpecialty+"','"+m_strAddress+"','"+m_strTel+"','"+m_strEmail+"','"+m_strMemo+"')";

其中的单双引号是怎么规定的
我都急死了

10 个解决方案

#1


字符串在VC中要用双引号,而sql 语句中表述字符串要用单引号。变量与关键字之间要用空格分开
strSQL="update COUNTER set COUNTER_VALUE = "+str+" whereID= 'P'";

#2


那这句中的'"+m_strAddress+"'为什么要用三个引号

    strSQL="insert into PERSON(ID,PASSWD,NAME,SEX,BIRTHDAY,DEPARTMENT,JOB,EDU_LEVEL,SPECIALTY,ADDRESS,TEL,EMAIL,REMARK)\
               values('"+m_strID+"','"+strPasswd+"','"+m_strName+"','"+strSex+"','"+m_strBirthday+"','"+strDepID+"','"+strEduID+"','"+
                        m_strSpecialty+"','"+m_strAddress+"','"+m_strTel+"','"+m_strEmail+"','"+m_strMemo+"')";

#3


// 参数
//  pcszValueSetTobe : 字段的新值
//  pcszCondition    : 条件
LPCTSTR   pcszValueSetTobe;
LPCTSTR   pcszCondition;


CString   strSQL; 
CString   strValue;
CString   strCondition;

// 在SQLServer 中字符类型中连续的两个单引号被作为一个单引号
strValue  = pcszValueSetTobe;
strValue.Replace (_T("\'"), _T("\'\'"));

// 附加条件子句
if (NULL!=pcszCondition  &&  _T('\0')!=*pcszCondition)
    strCondition.Format (_T(" WHERE %s "), pcszCondition);

strSQL.Format
(
    _T("UPDATE [TABLE_NAME] SET [CHAR_TYPE_FIELD] = '%s' %s")
   , strValue, strCondition
);

#4


谢谢,以后在向你请教

#5


用CDatabase类直接执行插入语句比较好

#6


应该
strSQL="update COUNTER set COUNTER_VALUE=str+"whereID='P'";

#7


不是吧,str是一个变量,不应该在引号里面 的吧

#8


strSQL="update COUNTER set COUNTER_VALUE="+str+"whereID='P'";


dddd:(这样就可以  要有空 " whereID='P'";)
strSQL="update COUNTER set COUNTER_VALUE="+str+" whereID='P'";

#9


还是不懂 
strSQL="insert into PERSON(ID,PASSWD,NAME,SEX,BIRTHDAY,DEPARTMENT,JOB,EDU_LEVEL,SPECIALTY,ADDRESS,TEL,EMAIL,REMARK)\
               values('"+m_strID+"','"+strPasswd+"','"+m_strName+"','"+strSex+"','"+m_strBirthday+"','"+strDepID+"','"+strEduID+"','"+
                        m_strSpecialty+"','"+m_strAddress+"','"+m_strTel+"','"+m_strEmail+"','"+m_strMemo+"')";


这句中'"+m_strID+"'为什么要用三个引号

#10


就是字符串加字符串嘛
"字符串"  + "字符串"
要组成一个  VALUES('aa',  'bb')
就要      "VALUES('"  + "aa" + "','" + "bb" +"')"

#1


字符串在VC中要用双引号,而sql 语句中表述字符串要用单引号。变量与关键字之间要用空格分开
strSQL="update COUNTER set COUNTER_VALUE = "+str+" whereID= 'P'";

#2


那这句中的'"+m_strAddress+"'为什么要用三个引号

    strSQL="insert into PERSON(ID,PASSWD,NAME,SEX,BIRTHDAY,DEPARTMENT,JOB,EDU_LEVEL,SPECIALTY,ADDRESS,TEL,EMAIL,REMARK)\
               values('"+m_strID+"','"+strPasswd+"','"+m_strName+"','"+strSex+"','"+m_strBirthday+"','"+strDepID+"','"+strEduID+"','"+
                        m_strSpecialty+"','"+m_strAddress+"','"+m_strTel+"','"+m_strEmail+"','"+m_strMemo+"')";

#3


// 参数
//  pcszValueSetTobe : 字段的新值
//  pcszCondition    : 条件
LPCTSTR   pcszValueSetTobe;
LPCTSTR   pcszCondition;


CString   strSQL; 
CString   strValue;
CString   strCondition;

// 在SQLServer 中字符类型中连续的两个单引号被作为一个单引号
strValue  = pcszValueSetTobe;
strValue.Replace (_T("\'"), _T("\'\'"));

// 附加条件子句
if (NULL!=pcszCondition  &&  _T('\0')!=*pcszCondition)
    strCondition.Format (_T(" WHERE %s "), pcszCondition);

strSQL.Format
(
    _T("UPDATE [TABLE_NAME] SET [CHAR_TYPE_FIELD] = '%s' %s")
   , strValue, strCondition
);

#4


谢谢,以后在向你请教

#5


用CDatabase类直接执行插入语句比较好

#6


应该
strSQL="update COUNTER set COUNTER_VALUE=str+"whereID='P'";

#7


不是吧,str是一个变量,不应该在引号里面 的吧

#8


strSQL="update COUNTER set COUNTER_VALUE="+str+"whereID='P'";


dddd:(这样就可以  要有空 " whereID='P'";)
strSQL="update COUNTER set COUNTER_VALUE="+str+" whereID='P'";

#9


还是不懂 
strSQL="insert into PERSON(ID,PASSWD,NAME,SEX,BIRTHDAY,DEPARTMENT,JOB,EDU_LEVEL,SPECIALTY,ADDRESS,TEL,EMAIL,REMARK)\
               values('"+m_strID+"','"+strPasswd+"','"+m_strName+"','"+strSex+"','"+m_strBirthday+"','"+strDepID+"','"+strEduID+"','"+
                        m_strSpecialty+"','"+m_strAddress+"','"+m_strTel+"','"+m_strEmail+"','"+m_strMemo+"')";


这句中'"+m_strID+"'为什么要用三个引号

#10


就是字符串加字符串嘛
"字符串"  + "字符串"
要组成一个  VALUES('aa',  'bb')
就要      "VALUES('"  + "aa" + "','" + "bb" +"')"