不用Wizard怎样怎样对ODBC数据库进insert?
thx! 问题点数:90、回复次数:7Top
1 楼zyoujie()回复于 2002-05-25 17:40:58 得分 70
BOOL CMySock::Execute_SQL(char * sql,CString &user,CString &password)
{
CDatabase db;
BOOL b;
b=TRUE;
CString string;
string="DSN=hb;UID="+user+";"+"PWD="+password+";";
TRY
{
db.OpenEx(string, CDatabase::openReadOnly|CDatabase::noOdbcDialog);
}
CATCH(CDBException,e1)
{
#ifdef _DEBUG
AfxMessageBox(e1->m_strError);
#endif
b=FALSE;
}
AND_CATCH(CMemoryException,e2)
{
b=FALSE;
}
END_CATCH
if(!b)
{
return FALSE;
}
TRY
{
db.ExecuteSQL(sql);
}
CATCH(CDBException,e1)
{
#ifdef _DEBUG
AfxMessageBox(e1->m_strError);
#endif
errmsg=e1->m_strError;
b=FALSE;
}
END_CATCH
if(!b)
{
WriteOutStream();
return FALSE;
}
return TRUE;
}
Top
2 楼despird(砉箟)回复于 2002-05-25 17:50:25 得分 5
strsql.Format("...",...);//可以带参数.
db.ExecuteSQL(strsql);Top
3 楼happyzsl(学习)回复于 2002-05-25 18:03:06 得分 0
非常感谢!
但是,可以再帮个忙吗?
我有一字符串:2002-4-18 0:00:00
怎样把它转换为日期型 ?Top
4 楼pcman1990(pcman)回复于 2002-05-25 18:03:11 得分 5
可以直接执行INSERT SQL语句。例如:
CString strSQL;
strSQL = _T("INSERT INTO TUser (UserName, UserID) VALUES (\'Zhang San\', 101)");
db.ExecuteSQL(strSQL);
Top
5 楼pcman1990(pcman)回复于 2002-05-25 18:10:16 得分 10
如果是ACCESS数据库,#2002-4-18 0:00:00# 就可以了;
如果是SQL Server,直接'2002-4-18 0:00:00' 就行。Top
6 楼pcman1990(pcman)回复于 2002-05-25 18:11:16 得分 0
是指在你的SQL语句中。Top
7 楼happyzsl(学习)回复于 2002-05-26 18:37:04 得分 0
直接用字符串'2002-4-18 0;00:0'好像不行啊
2002-4-18可以
什么方法可以从这个字符串得到一个日期型值为2002-4-18的变量吗/Top




