?? d980222.gb_
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE>資料庫篇: Data1.RecordSource = "Select * From House Where room = 'Child's room'" 錯在哪里?</TITLE>
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (Win95; I) [Netscape]">
<META NAME="Author" CONTENT="KJ Wang">
</HEAD>
<BODY TEXT="#202020" BGCOLOR="#FFFFFF" LINK="#FF0000" VLINK="#000080" ALINK="#FF0000">
<H2 ALIGN=CENTER><A HREF="vbdb.htm">VB5 與資料庫程式設計</A></H2>
<H3 ALIGN=CENTER><A HREF="../vbweeks.htm">每周一問</A>: 挑戰(zhàn)您的 VB 功力 (資料庫篇, 98/02/22)</H3>
<H2>
<HR WIDTH="100%"></H2>
<CENTER><TABLE>
<TR VALIGN=TOP>
<TD NOWRAP>Q:</TD>
<TD>有一 Select SQL 如下:
<UL>
<P>Select * From House Where room = 'Child's room' (Child's 含有單引號)</P>
</UL>
<P>想將此一 Select 指令設定給 Data1.RecordSource, 程式該怎麼寫?</P>
<UL>
<P>Data1.RecordSource = "Select * From House Where room = <FONT COLOR="#FF0000">'Child's
room'</FONT>"<BR>
<FONT COLOR="#008000">(這麼寫是錯誤的)</FONT></P>
</UL>
</TD>
</TR>
<TR VALIGN=TOP>
<TD>A:</TD>
<TD>在 SQL 里面, 用來框住字串的符號除了<FONT COLOR="#FF0000">單引號</FONT>之外,
<FONT COLOR="#FF0000">雙引號</FONT>也是正確的,舉例來說以下兩個 SQL 指令的意義是相同的:
<UL>
<P>Select * From Stock Where ID='臺積電'</P>
<P>Select * From Stock Where ID="臺積電"</P>
</UL>
<P>但由於 VB 的字串是以雙引號框住的, 所以我們習慣以單引號來框住 SQL 的字串,例如:</P>
<UL>
<P>Data1.RecordSource = <FONT COLOR="#0000FF">"</FONT>Select * From
Stock Where ID=<FONT COLOR="#FF0000">'</FONT>臺積電<FONT COLOR="#FF0000">'</FONT><FONT COLOR="#0000FF">"</FONT></P>
</UL>
<P>但是在本問題中, 由於 Child's 含有單引號, 所以 'Child's room' 反而會造成資料庫的混淆,
因此應該寫成「"Child's room"」, 然後再放到 VB 的雙引號里面,
直接反應的寫法是:</P>
<UL>
<P>Data1.RecordSource = "Select * From House Where room = <FONT COLOR="#FF0000">"</FONT>Child's
room<FONT COLOR="#FF0000">"</FONT>"<BR>
<FONT COLOR="#008000">(這還是錯誤的)</FONT></P>
</UL>
<P>但由於雙引號( "" )之中有含有雙引號("), 所以正確的寫法應該修正為:</P>
<UL>
<P><FONT COLOR="#0000FF">Data1.RecordSource = "Select * From House
Where room = </FONT><FONT COLOR="#FF0000">""</FONT><FONT COLOR="#0000FF">Child's
room</FONT><FONT COLOR="#FF0000">""</FONT><FONT COLOR="#0000FF">"<BR>
</FONT><FONT COLOR="#008000">(終於正確了)</FONT></P>
</UL>
</TD>
</TR>
</TABLE></CENTER>
<P>
<HR WIDTH="100%"></P>
</BODY>
</HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -