达梦(5)通过DCI实现增删改查(二)
printf("% -10s%-10s%-10s\n", "PERSONID", "NAME", "PHONE");
while((OCIStmtFetch( stmthp, errhp,1,OCI_FETCH_NEXT,OCI_DEFAULT))!=OCI_NO_DATA)
{
printf("% -10s", szpersonid);
printf("% -10s", szname);
printf("% -10s\n", szphone);
}
/************************************************************************/
/* 向person 表插入一条数据 */
/************************************************************************/
memset(sql, 0, sizeof(sql));
strcpy(sql, "insert into person.person(sex, name, email, phone) values(:sex,:name,:email,:phone);");
/* 准备SQL 语句 */
OCIStmtPrepare(stmthp, errhp,(text *)sql, strlen(sql),OCI_NTV_SYNTAX, OCI_DEFAULT);
/* 绑定输入列 */
const OraText col_sex[] = ":sex";
const OraText col_name[] = ":name";
const OraText col_email[] = ":email";
const OraText col_phone[] = ":phone";
OCIBindByName(stmthp, &bidhp[0], errhp, col_sex, 4, szsex, sizeof(szsex),SQLT_AFC, NULL, NULL, NULL, 0, NULL, 0);
OCIBindByName(stmthp, &bidhp[1], errhp, col_name, 5, szname, sizeof(szname), SQLT_AFC, NULL, NULL, NULL, 0, NULL, 0);
OCIBindByName(stmthp, &bidhp[2], errhp, col_email, 6, szemail, sizeof(szemail),SQLT_AFC, NULL, NULL, NULL, 0, NULL, 0);
OCIBindByName(stmthp, &bidhp[3], errhp, col_phone, 6, szphone, sizeof(szphone),SQLT_AFC, NULL, NULL, NULL, 0, NULL, 0);
//OCIBindByName(stmthp, &bidhp[0], errhp, ":sex", 4, szsex, sizeof(szsex),SQLT_AFC, NULL, NULL, NULL, 0, NULL, 0);
//OCIBindByName(stmthp, &bidhp[1], errhp, ":name", 5, szname, sizeof(szname), SQLT_AFC, NULL, NULL, NULL, 0, NULL, 0);
//OCIBindByName (stmthp, &bidhp[2], errhp, ":email", 6, szemail, sizeof(szemail),SQLT_AFC, NULL, NULL, NULL, 0, NULL, 0);
//OCIBindByName (stmthp, &bidhp[3], errhp, ":phone", 6, szphone, sizeof(szphone),SQLT_AFC, NULL, NULL, NULL, 0, NULL, 0);
/* 设置输入参数 */
memset(szsex, 0, sizeof(szsex));
//strcpy(szsex, "M");
memcpy(szsex,"M",strlen("M")+1);
memset(szname, 0, sizeof(szname));
//strcpy(szname, " 张三");
memcpy(szname,"张三",strlen("张三")+1);
memset(szemail, 0, sizeof(szemail));
//strcpy(szemail, "zhangsan@dameng.com");
memcpy(szemail,"zhangsan@dameng.com",strlen("zhangsan@dameng.com")+1);
memset(szphone, 0, sizeof(szphone));
memcpy(szphone,"027-87588000",strlen("027-87588000")+1);
//strcpy(szphone, "027-87588000");
/* 执行SQL 语句 */
OCIStmtExecute(svchp, stmthp, errhp, (ub4)0, (ub4) 0, (CONST OCISnapshot*) 0, (OCISnapshot*) 0,(ub4) OCI_DEFAULT);
/* 提交到
数据库 */
OCITransCommit(svchp, errhp, OCI_DEFAULT);
/************************************************************************/
/* 更新person 表 */
/************************************************************************/
memset(sql, 0, sizeof(sql));
strcpy(sql, "update person.person set sex='M',name='Liuhuan',email='liujian@mail',phone='13636396811' WHERE personid=1");
/* 准备SQL 语句 */
OCIStmtPrepare(stmthp, errhp,(text *)sql, strlen(sql),OCI_NTV_SYNTAX, OCI_DEFAULT);
/* 执行SQL 语句 */
OCIStmtExecute (svchp, stmthp, errhp, (ub4)0, (ub4) 0, (CONST OCISnapshot*) 0, (OCISnapshot*) 0,(ub4) OCI_DEFAULT);
/* 提交到数据库 */
OCITransCommit(svchp, errhp, OCI_DEFAULT);
/************************************************************************/
/* 删除person 表的ID为的数据,首