怎么向多个表中插入数据。。比如有五六个表,类似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);
只会这么用。前面的那些环境,句柄都设置好了
更多