《C语言也干大事》剩余部分.docVIP

  • 2
  • 0
  • 约1.37万字
  • 约 19页
  • 2016-12-03 发布于贵州
  • 举报
《C语言也干大事》剩余部分

《C语言也能干大事》第十七节:数据库开发41、处理数据库查询 序号从1开始,不是0 SQLINTEGER cbsatid=SQL_NTS; ? ? while (SQLFetch(hstmt)!=SQL_NO_DATA_FOUND) ? ? { ? ?? ?? ?? ?? ?? ? SQLCHAR name[20]; ? ?? ???SQLGetData(hstmt,1,SQL_C_CHAR,name,20,cbsatid); ? ? } 复制代码 SQLINTEGER cbsatid=SQL_NTS; while (SQLFetch(hstmt)!=SQL_NO_DATA_FOUND) { SQLINTEGER i; SQLGetData(hstmt,2,SQL_C_LONG,i,sizeof(SQLINTEGER),cbsatid); } 复制代码 乱码问题解决方式,连接字符串使用GBK,修改数据库默认编码为gbk 4、保存HDBC到全局变量中,长连接、短连接。比如Java、C#中访问数据库复杂多少。一通百通。 要掌握调试的技巧,分析问题可能出错的原因和出错的地方,然后调试分析。一定不能和书上不一致,就懵了 5、自己动手写用户管理系统:新增密码字段、新建用户,检验登录; SQLINTEGER cbsatid=SQL_NTS; //需要一行一行的读取,这种方式就叫做通过游标读取,无论是在JDBC、ADO/ADO.net。。。结果集 //调用SQLFetch一次就向下读取一行,直到返回值为SQL_NO_DATA_FOUND的时候表示读到了最后 //是不是和C语言文件访问中EOF有点像。 ? ? while (SQLFetch(hstmt)!=SQL_NO_DATA_FOUND) ? ? { ??TCHAR name[20]; //字符数组,SQLCHAR其实就是char的一个别名,所以和char name[20]一样。 ??//调用SQLGetData来取列(Column)的内容 ??//第一个参数就是代表SQL语句的hstmt、第二是要读取的列的序号(从1开始) ??//第三个是列的类型(SQL_C_CHAR字符串,在SQLExt.h中所有以SQL_C_开头的都是可选值) ??//第四个参数就是要接收的值的指针!!! ??//第五个是指针指向的缓冲区的大小 ??//第六个不用管,那么调就行 ? ?? ???SQLGetData(hstmt,1,SQL_C_CHAR,name,sizeof(name)/sizeof(SQLCHAR),cbsatid); ??MessageBox(hwnd,name,TEXT(),MB_OK); ? ? } while (SQLFetch(hstmt)!=SQL_NO_DATA_FOUND) ? ? { ??SQLINTEGER i; //字符数组,SQLCHAR其实就是char的一个别名,所以和char name[20]一样。 ??//调用SQLGetData来取列(Column)的内容 ??//第一个参数就是代表SQL语句的hstmt、第二是要读取的列的序号(从1开始) ??//第三个是列的类型(SQL_C_CHAR字符串,在SQLExt.h中所有以SQL_C_开头的都是可选值) ??//第四个参数就是要接收的值的指针!!! ??//第五个是指针指向的缓冲区的大小 ??//第六个不用管,那么调就行 ? ?? ???SQLGetData(hstmt,2,SQL_C_LONG,i,sizeof(i),cbsatid); ??TCHAR name[20]; ??SQLGetData(hstmt,1,SQL_C_CHAR,name,sizeof(name)/sizeof(TCHAR),cbsatid); ??TCHAR s[20]; ??wsprintf(s,TEXT(%s年龄是:%d),name,i); ?? ??MessageBox(hwnd,s,TEXT(),MB_OK); ? ? } result = SQLPrepare(hstmt,(SQLCHAR*)select FUserName,FPassword from T_User,SQL_NTS); CHECKDBSTMTERROR(hwnd,result,hstmt); ? ? result =SQLExecute(hstmt); ? ? CHECKDBSTMTERROR(hwnd,result,hstmt); SQLINTEGER cbsatid=SQL_NTS; TCHAR inputUserName[20]; GetDlgItemText(hwnd,IDC_EDITUSERNAME,input

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档