当前位置:数据库 > Access >>

怎样用C或C++(最好是C)语言向Access数据库写入或读出数据?

我一直做的是C或C++独立方面的程序,不知道该怎么做,最好是C语言是因为,我C++才刚开始学习模板…… 有谁会的先谢谢了
答案:最好是用C++,说起来很多,去你下载孙鑫 C++深入讲解,那里面有一课是对ACC开发,我就是看那个看会的。
其他:建议直接使用ODBC 先学习数据库知识吧 项目一、在文本框中设计一个滚动字幕
实验步骤:
1. 建立一个单文本框工程,如:mfc_7。
2. 在查看菜单中添加一个新的菜单项“启动”,并设置其ID为ID_TEST。
3. 为“启动”菜单添加消息处理函数OnTest(),注意是在CMfc_7View类中添加。
4. 为OnTest( )函数添加如下代码:
   void CMfc_7View::OnTest( ) 
{
 // TODO: Add your command handler code here
 SetTimer(1,200,NULL); 
}
5. 在类视图(ClassView)下添加数据成员:private:   int   x;
6. 修改OnDraw( )函数如下:
    void CMfc_7View::OnDraw(CDC* pDC)
{
// CMfc_7Doc* pDoc = GetDocument();
// ASSERT_VALID(pDoc);
 // TODO: add draw code for native data here
 TRACE("This is a little app.");
 pDC->TextOut(x,100,"你妈喊你回家吃饭喽!");
 x=x+50;
 RECT re;
 GetClientRect(&re);
 if(x>re.right-re.left)
  x=0;
}
7. 在类向导中,为CMfc_7View类添加一个WM_TIMER的消息响应函数OnTimer( ),代码如下:
  void CMfc_7View::OnTimer(UINT nIDEvent) 
{
 // TODO: Add your message handler code here and/or call default
 Invalidate(); 
}
8. 运行测试。 头文件中定义: 
_ConnectionPtr m_pConnection;
_RecordsetPtr m_pRecordset;

________________________________________________________________
AfxOleInit();
try                 
{ 
// 打开本地Access库student.mdb
m_pConnection.CreateInstance(__uuidof(Connection));
m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=student.mdb","","",adModeUnknown);       //student.mdb 更换为自己的
}
catch(_com_error e)
{
AfxMessageBox("数据库连接失败,确认数据库student.mdb是否在当前路径下!");
return FALSE;
} 

m_pRecordset.CreateInstance(__uuidof(Recordset));


try
{
m_pRecordset->Open("SELECT * FROM shujuku",                // 查询shujuku表中所有字段
  m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针
  adOpenDynamic,
  adLockOptimistic,
  adCmdText);  
 }
 catch(_com_error *e)
 {
  AfxMessageBox(e->ErrorMessage());
 }


以上是连接数据库的代码。

int bj; 
CString sex;
while(!m_pRecordset->adoEOF)
{
bj=atoi((char*)(_bstr_t)m_pRecordset1->GetCollect("班级"));   转换成int型;
sex.Format("%s",(char*)(_bstr_t)m_pRecordset1->GetCollect("性别"));   转换成CString型。
m_pRecordset->MoveNext();
}
以上是读取shujuku中班级 和 性别列中的数据;


CString str,str1;
_bstr_t sql;

try
{
sql = "UPDATE shujuku SET 语文='"+str+"',日期='"+nData+"' WHERE 学号='"+str1+"'";//写入语文成绩 日期 按学号。

m_pConnection->Execute(sql,NULL,adCmdText);
}
catch (_com_error e) 
{
MessageBox("发生错误,保存失败!");
} 

以上是写入数据库代码;

如何向一个新表中写入数据我也不知道,正在查找中~!请高手不吝赐教。 

上一个:SQL数据库A表,ACCESS数据库B表,如何将SQL A表中ACCESS B表中不存在的数据找出来,并存入ACCESS B表中?
下一个:VB用data控件连接access数据库,要求用sql语句查询,求高手纠错,详细如下

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,