C#写入到access数据库

C#写入到access数据库,第1张

using System.Data.OleDb

string sql = "insert into 表 (列1,列2,列3) values('"+comboBox1.Text+"','"+comboBox1.Text+"','"+textBox1.Text+"')"//构造sql语句

string dbpath = AppDomain.CurrentDomain.BaseDirectory + "\\data\\database1.mdb"//access数据库的路径

OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0Data Source=" + dbpath)//定义数据库连接对象

OleDbCommand cmd = new OleDbCommand(sql, con)//定义Command对象

con.Open()//打开数据库连接

cmd.ExecuteNonQuery()//执行Command命令

con.Close()//关闭数据库连接

有问题可以追问。

1、C/C++与数据库交互,像 mssql/ mysql / oracle 等,一般都有成熟的第三方库,这些库里面无非就是封装了与数据库通讯的方式和通讯协议搜一下要用的数据库相关的 API 文档,会说得很清楚任何文件都是二进制数据,关键是数据存储的组织方式通用扩展名的文件,像gif/doc/jpg/wav,格式都是固定的。

2、举个例子,连接SQL:

// 打开数据库

strDBClass.Format(_T("Provider=Microsoft.Jet.OLEDB.4.0Data Source=%sJet OLEDB:Database Password=%s"), m_strUnEntryptMdbFilePath,m_strMDBPassword)

// 创建连接

HRESULT hr = m_pConnection.CreateInstance(_uuidof(Connection))

_ConnectionPtr m_pConnection->Open(m_strDBClass,_T(""),_T(""),adConnectUnspecified)

// 声明表单指针

_RecordsetPtr pBandRecordset

pBandRecordset.CreateInstance(__uuidof(Recordset))

// 执行语句

CString strSQL(L"SELECT * FROM [Band]")

m_pConnection->Execute((LPCTSTR)strSQL,NULL,0)

// 提取某一项 例如BandInfo

int iBandInfo = wcscmp(colum, L"BandInfo")

while(!recordsetPtr->adoEOF)

{

var = recordsetPtr->GetCollect(colum)

if(var.vt != VT_NULL)

strName = (LPCSTR)_bstr_t(var)

recordsetPtr->MoveNext()

}

String sql = "insert into 表名(字段1,字段2) values( '" + 字段1对应的值+ "' , '" + 字段2对应的值 + "')"

String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0Data Source=|DataDirectory|\\data.mdb"

OleDbConnection connection = new OleDbConnection(connectionString)

OleDbCommand cmd = new OleDbCommand(sql,connection)

connection.Open()

if (cmd.ExecuteNonQuery() >0)//判断插入数据是否成功 { //执行要 *** 作的语句 }


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9239819.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存