Visual C ++经验谈

类别:VC语言 点击:0 评论:0 推荐:
学习VC是一个艰难的过程。如果在学习的过程中遇到一些经验人士为你指点一二,那么一切都变的那么简单,这里我收录了一些在学习使用VC过程中积累的经验,以期与大家共同进步。
1、取得系统时间
方法:
SYSTEMTIME systime;
::GetSystemTime(&systime);
CTime time(systime);

2、在程序中添加ODBC数据源 方法:使用SQLConfigDataSource函数。例如: SQLConfigDataSource(NULL,ODBC_ADD_DSN, (LPSTR)"SQL Server", (LPSTR)"DSN=medicine1998\0" "SERVER=DEC\0" "DATABASE=medicine1998\0")) //添加一个ODBC数据源,其类型为 //SQL Server,服务器为DEC,名字为medicine1998, //数据库为medicine1998

3、在Visual C++中使用DBGrid控件的方法 (1)、插入一个MicrosoftRemoteData控件; (2)、设定其DataSource为所需要的ODBC数据源; (3)、设定用户名和密码; (4)、写入SQL查询语句; (5)、插入一个DBGrid控件; (6)、设定为绑定方式; (7)、设定其绑定的数据源为前面插入的Microsoft-RemoteData控件的ID; (8)、由于只能修改前两列的列头显示(至少我不知道如何去修改第3列),所以为了重新设定每一列的列头显示,同时也是为了指定显示的列,应该修改前面MicrosoftRemoteData控件中的查询语句,指定获取列和更改列名,例如:select name as 姓名,phone as 电话 from address。此语句就是从表address中选取name和phone两列,并指定了显示的列名为“姓名”和“电话”。 4、在ODBC编程中,在过滤器中可以用参数取代过滤字符串,以便在运行时动态改变过滤器,但是该参数必须用如下方法声明: (1)在记录集的定义中添加成员参数: class CStudentSet : public CRecordset { // Field/Param Data //{{AFX_FIELD(CStudentSet, CRecordset) CString m_strFirstName; CString m_strLastName; CString m_strStudentID; CString m_strGradYear; //}}AFX_FIELD CString m_strGradYrParam; //成员参数 }; (2)改变在CPP文件中的DoFieldExchange成员函数,并且对每一个你添加在类中的成员参数都调用一次RFX函数,如下: pFX->SetFieldType( CFieldExchange::param ); //指示以下给出的是参数绑定 // RFX calls for parameter data members //在此处加入RFX调用: pFX->RFX_Text(pFX,"bookname", m_strGradYrParam); 其中,bookname是要在其上添加参数的列名,后面是参数名。 (3)在你的recordset类的构建函数中,增加反映参数个数的m_nParams成员变量的值。 (4)然后可以在你的SQL过滤串中以“?”代替可变过滤参数了,这种对应是一一对应的,即“?”的顺序要严格遵守RFX调用的顺序。然后给出过滤参数的值,就可以用此值代替“?”了。注意,该过滤参数的值一定要在数据源打开之前给定

本文地址:http://com.8s8s.com/it/it3171.htm