返回列表 发帖

【教学视频】《C语言也能干大事》第十五节:数据库开发2

【秘籍:免费获得大量鹏币】|【立即购买鹏币(仅需3 元)】
帖子只需购买一次即可以永久使用,不需要每次访问的时候都购买。购买后将会看到如下的视频、资料等下载地址
本主题需向作者支付 30 鹏币 才能浏览 购买主题 已购买人数:435  记录
未购买此贴可以在线观看在线FLV格式的视频:
http://player.youku.com/player.php/sid/XNzk1ODI0ODQ=/v.swf
购买此贴后可以得到清晰版的下载地址。

板书:

本课程的参考教材:杨中科的《程序员的SQL金典》第三章



什么是SQL语句。


SQL语句是和DBMS“交谈”专用的语句,和CJava等的代码不一样,SQL语句你需要你告诉DBMS What To Do就可以,不需要告诉它How To Do



本课程的命名规范:所有表以T_开头,字段(列、ColumnField)以F开头,这样可以很容易的看清哪个是表、哪个是字段。而且不容易和关键字冲突。


增删改查:InsertDeleteUpdateSelect


SQL语句是大小写不敏感的


1、简单的Insert语句。向数据库中插入数据。Into后的列名和values一一对应,字符串用单引号


Insert Into T_Person(FName,FAge) values('Jim',25)


Insert into T_Person(FName) values('lily')


2、怎么样查看表中数据


Select * from T_Person


Select * from 表名


3、简化的Insert语句格式,不推荐


Insert into T_Person values('poly',33)


4、数据的更新Update


Update T_Person Set FAge=30


5、多字段更新


6、Where语句的Update


update T_Person Set FAge=50 where FName='Tom' OR FName='Jim'


7、数据的删除


Delete From T_Person


是删除T_Person表中的数据,并不是删除T_Person整个表结构。表还在,数据没了,人去楼空。




8、Where语句的删除


delete from T_Person where FName='Jim'


delete from T_Person where FAge>30





下节课内容:数据的检索。




课下参考《程序员的SQL金典》进行深一步的学习和预习。



购买主题 已购买人数:435  记录

为什么这次的鹏币少了呢??

TOP

原帖由 未必出行 于 2009-3-26 22:26 发表
为什么这次的鹏币少了呢??

课程时间比以前短,内容也容易理解一些。

TOP

按价值付费,这个好!支持!20秒下载完了,舒服!
[fly]三维动画学习中……fly]
kider@rupeng.com

TOP

哈哈,真及时,我也刚学到这里

TOP

我的鹏币恰能支付哟,还打算去购买的,现在可不用罗。最近一直忙,很久没发贴了哟!
往日成空已了然,而今欣然迷茫,前事已成忧!晓知理,持之事,费之力,必成大器!

TOP

出新课咯,杨老师什么时候出游戏教程,

期待
提醒自己   08年6月30日开始自学C

TOP

鹏币不够啊
还是支持一下

TOP

哈哈 刚看了下 学了不少东东

TOP

新来的不能回复吗?

TOP

我穷咋办T_T

TOP

原帖由 mice012 于 2009-8-4 17:26 发表
我穷咋办T_T

帮助他人赚鹏币,宣传如鹏赚鹏币。都看到第十五节了你才赚了2鹏币?

TOP

多参加回复可以赚鹏币吗

请大虾指点明路,着急。

TOP

我们多宣传如鹏网站向同学和朋友就可以赚鹏币了!!

TOP

ewfw

wefwewwefwwfw

TOP

听下来,学了不少东西,谢谢老大

TOP

好东西啊。。。。。。。。。。。。。。

TOP

穷也要顶,努力赚鹏币:)

TOP

我鹏币这么少,要努力!

TOP

  1. #define CHECKDBSTMTERROR(hwnd,result,hstmt) if(SQL_ERROR==result){ShowDBStmtError(hwnd,hstmt);return;}
  2. void ShowDBError(HWND hwnd,SQLSMALLINT type,SQLHANDLE sqlHandle)
  3. {
  4.     char pStatus[10], pMsg[101];
  5.     SQLSMALLINT SQLmsglen;
  6.     char error[200] = {0};
  7.     SQLINTEGER SQLerr;
  8.     long erg2 = SQLGetDiagRec(type, sqlHandle,1,
  9.                          (SQLCHAR *)pStatus,&SQLerr,(SQLCHAR *)pMsg,100,&SQLmsglen);
  10.     wsprintf(error,"%s (%d)\n",pMsg,(int)SQLerr);
  11.     MessageBox(hwnd,error,TEXT("数据库执行错误"),MB_ICONERROR|MB_OK);
  12. }
  13. void ShowDBConnError(HWND hwnd,SQLHDBC hdbc)
  14. {
  15.         ShowDBError(hwnd,SQL_HANDLE_DBC,hdbc);
  16. }
  17. void ShowDBStmtError(HWND hwnd,SQLHSTMT hstmt)
  18. {
  19.         ShowDBError(hwnd,SQL_HANDLE_STMT,hstmt);
  20. }



  21. SQLHENV henv = NULL;
  22.     SQLHDBC hdbc = NULL;
  23.     SQLHSTMT hstmt = NULL;
  24.     SQLRETURN result;
  25.     SQLCHAR ConnStrIn[255] = "DRIVER={MySQL ODBC 5.1 Driver};SERVER=127.0.0.1;UID=root;PWD=root;DATABASE=rupeng2;CharSet=gbk;";
  26.     SQLCHAR ConnStrOut[255];
  27.         //分配环境句柄
  28.     result = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
  29.         //设置管理环境属性
  30.     result = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
  31.         //分配连接句柄
  32.     result = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
  33.         //设置连接属性
  34.     result = SQLSetConnectAttr(hdbc, SQL_LOGIN_TIMEOUT, (void*)30, 0);
  35.         //连接数据库
  36.     result = SQLDriverConnect(hdbc,NULL,
  37.                                         ConnStrIn,SQL_NTS,
  38.                                         ConnStrOut,255,
  39.                                         (SQLSMALLINT *)0,SQL_DRIVER_NOPROMPT);
  40.     if(SQL_ERROR==result)
  41.     {
  42.                 ShowDBConnError(hwnd,hdbc);
  43.                 return;
  44.     }
  45.         //初始化语句句柄
  46.     result = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
  47.    
  48.         result = SQLPrepare(hstmt,(SQLCHAR*)"select FName,FAge from t_person ",SQL_NTS);
  49.         CHECKDBSTMTERROR(hwnd,result,hstmt);//见宏定义
  50.     result =SQLExecute(hstmt);
  51.     CHECKDBSTMTERROR(hwnd,result,hstmt);
  52. //添加操作数据库的代码
  53.         SQLFreeStmt(hstmt,SQL_CLOSE);
  54.     SQLDisconnect(hdbc);
  55.     SQLFreeHandle(SQL_HANDLE_DBC,hdbc);
  56.     SQLFreeHandle(SQL_HANDLE_ENV,henv);
  57.         MessageBox(hwnd,TEXT("操作完毕已与目标数据库断开"),TEXT("信息"),MB_OK);
复制代码
Understand-->Code-->Repeat  Make Perfect!!!
      #鹏友们好#

TOP

继续学习,这个要多操作。

TOP

还会有23吗?

TOP

可惜不够鹏币。。。。。。。。

TOP

是啊是啊,后面的都要鹏币呢。穷啊~~~努力赚吧!

TOP

只能等到有足够的鹏币了

TOP

我的鹏币应该可以支付了。

TOP

这个YOUKU上是第14集啊?我鹏币买光了。。

TOP

没有错,是一样的。杨老师板书笔误。抱歉
在校不迷茫,毕业即辉煌

TOP

真是好课程啊!要是看书的话,估计时间用的就多了。

TOP

我也是穷人一个啊

TOP

返回列表