📄 subject_27145.htm
字号:
<p>
序号:27145 发表者:hl211 发表日期:2003-01-08 19:47:32
<br>主题:参数不足,期待为1
<br>内容:我在VC程序中执行SQL语句,该语句存放在类型为CString的m_Query变量中, m_Query = "SELECT Cell_Pins.CellIndex,Cell_Pins_PinName \r\n FROM Cell_Pins \r\n WHERE (((Cell_Pins.LogicName)='A(2)'));";在一个地方调用:if ( !m_pSet->IsOpen())<BR> {<BR> m_pSet->Open(CRecordset::dynaset, m_Query);<BR> //m_pSet->Open();<BR><BR> } 总是弹出主题中的错误。<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:金枪鱼 回复日期:2003-01-08 20:01:24
<br>内容:好像SQL语句中没有用回车的习惯(不是太清楚)。<BR>CString str_SQL=_T("select CellIndex,Cell_Pins_PInName");<BR>str_SQL+=_T(" FROM Cell_Pins where LogicName='");<BR>str_SQL+=A(2);<BR>str_SQL+=_T("'");<BR>A(2)为一个变量<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:hl211 回复日期:2003-01-08 20:23:16
<br>内容:我没有用回车,是拷到论坛中出现的问题。A(2)是一个文本类型的字段值。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:金枪鱼 回复日期:2003-01-08 21:30:06
<br>内容:A(2)是一个变量(一个CString类型的数据库记录字段),不能直接写在SQL语句中中''扩起来,应该像上述使用CString来相加。<BR>如果字段值="A(2)"字符串才是你那种写法。<BR><BR>按照我的理解,你的意思是从表Cell_Pins中选择字段LogicName等于字符串“(A2)”的记录中的CellIndex和Cell_Pins_PinName字段的值。写法应该时:<BR>CString str_SQL=_T("select CellIndex,Cell_Pins_PinName from Cell_Pins where LogicName='A(2)'");<BR>如果A(2)是一个变量,则写法应该是:<BR>CString str_SQL=_T("select CellIndex,Cell_Pins_PinName from Cell_Pins where LogicName='")+A(2)+_T("'");<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:hl211 回复日期:2003-01-08 22:00:18
<br>内容:最后的语句是: m_Query = _T("SELECT [Cell_Pins].[PinName], [Cell_Pins].[CellIndex], [Cell_Pins].[LogicName] \r\n FROM Cell_Pins \r\n WHERE (([Cell_Pins].[LogicName])='A(2)')"); 你能告诉我为什么要加中括号吗? 谢谢!<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:天花乱坠 回复日期:2003-01-09 08:51:46
<br>内容:似乎只是为了容易读,在access中自动生成的查询好像都自动加上这个(表和字段),不过要是你能很清楚自己写的语句不加也可以,句子长了写上可读性好一些
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:金枪鱼 回复日期:2003-01-09 14:55:28
<br>内容:如果是只有一个查询条件,一般是不需要写括号的。<BR>但是如果你的查询条件比较复杂,比如有多个查询条件,或者有&&、||、IN、LIKE等SQL运算,可能就需要使用括号来限制优先级别和便于阅读。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -