main where name=?
接着程序调用SQLBindParameter 来建立参数标志符与缓冲区SearchName的连接,这样当SQL语句被执行时,ODBC驱动程序就可从SearchName中获得需要的字符串.接下来,程序调用SQLPrepare来编译SQL语句. 这样我们只要准备/编译SQL语句一次就可多次使用.因为SQL语句已被编译过,接下来的执行过程会快一些.
.if ax==IDC_OKinvoke GetDlgItemText, hDlg, IDC_NAME, addr SearchName, 25.if ax==0invoke MessageBox, hDlg,addr NoData, addr AppName, MB_OK+MB_ICONERRORinvoke GetDlgItem, hDlg, IDC_NAMEinvoke SetFocus, eax.else
当用户在编辑框(edit control)中填入了一些名字并按下回车键, 程序将获得编辑框中的文本并检查是否是空字符串.如果是,则显示一个message box并将键盘焦点设在编辑框上,提示用户输入名字.
invoke lstrlen,addr SearchNamemov StrLen,eaxinvoke SendMessage, hList, LVM_DELETEALLITEMS,0,0invoke SQLExecute, hStmtinvoke FillDatainvoke SQLCloseCursor, hStmt
如果编辑框中已有字符串,程序会获得它的长度并将其放入StrLen中供ODBC驱动程序使用(记住我们已将StrLen的地址传送给了SQLBindParameter). 接下来程序使用获得的语句句柄调用SQLExecute执行已准备好的SQL语句.当 SQLExecute返回时,程序调用FillData在listview control显示结果.因为我们不会再用到结果集,调用SQLCloseCursor来关闭它.
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]
|