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)//判断插入数据是否成功 { //执行要 *** 作的语句 }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)