小弟有一个stu表,里面有两个字段(no int, name char(10)) ,有5条记录,想通过pro*c读取出来int main( int ac, char **av )
{
EXEC SQL BEGIN DECLARE SECTION;
int *pno; /*定义指针变量*/
char *pname;
EXEC SQL END DECLARE SECTION; connectDB();
newno = (int *)malloc(sizeof(int) * 5); /*给指针变量分配内存*/
newname = (char *)malloc( 20 * 20);
EXEC SQL select no,name INTO :pno,:pname FROM stu; /*读取数据*/
EXEC SQL COMMIT WORK RELEASE ;
free(pno);
free(pname);
return 0;
}可是运行之后总是说段错误,假如不读取name,只读取no就没有问题。请问我哪里错了呢?谢谢大家
{
EXEC SQL BEGIN DECLARE SECTION;
int *pno; /*定义指针变量*/
char *pname;
EXEC SQL END DECLARE SECTION; connectDB();
newno = (int *)malloc(sizeof(int) * 5); /*给指针变量分配内存*/
newname = (char *)malloc( 20 * 20);
EXEC SQL select no,name INTO :pno,:pname FROM stu; /*读取数据*/
EXEC SQL COMMIT WORK RELEASE ;
free(pno);
free(pname);
return 0;
}可是运行之后总是说段错误,假如不读取name,只读取no就没有问题。请问我哪里错了呢?谢谢大家
解决方案 »
- Oracle时区设置问题
- oracle commit 写在 plsql块 begin end 里面和外面有什么区别吗?
- 删除表结构
- oracle触发器的问题
- ORACLE修改参数设置后,无法启动是什么问题?
- RedHatLinux AE3 安装orcle9204的新问题
- 问个日期转换的问题:我a表rq字段内容(DATE型)格式为:29-1月 -05,b表rq字段内容(DATE型)格式为:01/23/2005 00:00:00
- oracle中如何换行,高手帮忙
- 急!!关于oracle9i数据库恢复。
- 我为什么不能直接用Oracle中的Boolean数据类型,要如何才能使用?
- oracle分页问题
- 如何用Oracle存储过程实现返回多行记录
5条记录为何不用游标?只取一条记录的话加一个rownum<2试试
另外有没有空值?有的话加NVL(NO,0),NVL(NAME,CHR(0))处理一下