samsonhahaha 2017-05-06 16:49 采纳率: 0%
浏览 1275
已结题

ODBC INSERT语句怎么向多个表插入数据,有主键和外键引用的。怎么可以不用一条一条插

怎么向多个表中插入数据。。比如有五六个表,类似student,course,speciality,teacher这些表。
一条一条插入很麻烦吧,应该有更好的方法。但我只会用一条一条插入

能不能用循环一次性插很多条。我只能实现一次插一条记录
SQLCHAR sqlInsertDe1[100] = "insert department(dno,dept_name) values('d01', '软件学院')";
SQLCHAR sqlInsertDe2[100] = "insert department(dno,dept_name) values('d02', '计算机学院')";

SQLCHAR sqlInsertSpe1[100] = "insert speciality values('s01', 'd01', '软件工程')";
SQLCHAR sqlInsertSpe2[100] = "insert speciality values('s02', 'd02', '计算机科学')";

SQLCHAR sqlInsertTe1[100] = "insert teacher(t_no, t_name, dno) values('t01', 'Tang', 'd01') ";
SQLCHAR sqlInsertTe2[100] = "insert teacher(t_no,t_name,dno) values('t02', 'chen', 'd01')";

SQLCHAR sqlInsertStu1[100] = "insert student values('20130001', 'Tom', '男', '19940101', 'd01', 's01', 'rg1')";
SQLCHAR sqlInsertStu2[100] = "insert student values('20130002', 'Jane', '女', '19940201', 'd01', 's01', 'rg1')";

SQLCHAR sqlInsertCou1[80] = "insert course(cno,cname,spno) values('c1', '数据库', 's01')";
SQLCHAR sqlInsertCou2[80] = "insert course(cno,cname,spno) values('c2', '数据结构', 's02')";

SQLCHAR sqlInsertSt_Cou1[100] = "insert student_course values('20130001', 1, 85)";
SQLCHAR sqlInsertSt_Cou2[100] = "insert student_course values('20130002', 2, 78)";

result = SQLPrepare(hStmt, sqlInsertDe1, SQL_NTS);

if ((result != SQL_SUCCESS) && (result != SQL_SUCCESS_WITH_INFO))
{
SQLFreeHandle(SQL_HANDLE_STMT, hStmt);
SQLFreeHandle(SQL_HANDLE_DBC, hDbc);
SQLFreeHandle(SQL_HANDLE_ENV, hEnv);
printf("绑定失败!");
getchar();
exit(0);
}
// 执行SQL语句
result = SQLExecute(hStmt);
if (result == SQL_ERROR)
{
SQLFreeHandle(SQL_HANDLE_STMT, hStmt);
SQLFreeHandle(SQL_HANDLE_DBC, hDbc);
SQLFreeHandle(SQL_HANDLE_ENV, hEnv);
printf("执行sql失败!");
getchar();
exit(0);
}
// 执行完sql语句之后,要读取数据
/*
while ((result = SQLFetch(hStmt)) != SQL_NO_DATA)
cout << szName << endl;
*/
// 释放句柄和断开连接
SQLFreeHandle(SQL_HANDLE_STMT, hStmt);
SQLDisconnect(hDbc);
SQLFreeHandle(SQL_HANDLE_DBC, hDbc);
SQLFreeHandle(SQL_HANDLE_ENV, hEnv);

只会这么用。前面的那些环境,句柄都设置好了
更多

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 聚类分析或者python进行数据分析
    • ¥15 逻辑谓词和消解原理的运用
    • ¥15 三菱伺服电机按启动按钮有使能但不动作
    • ¥15 js,页面2返回页面1时定位进入的设备
    • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
    • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
    • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
    • ¥20 腾讯企业邮箱邮件可以恢复么
    • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
    • ¥15 错误 LNK2001 无法解析的外部符号