#include <windows.h>
#include <stdio.h>
EXEC SQL BEGIN DECLARE SECTION;
char deptname[20];
char HSno[9];
char HSname[20];
char HSsex[2];
int HSage;
int NEWAGE;
EXE SQL END DECLARE SECTION;
long SQL INCLUDE sqlca;
int main()
{
int count=0;
char yn;
printf("Please choose the department name(CS/MA/IS):");
scanf("%s",&deptname);
EXEC SQL CONNECT TO StarVally_Bak USER "MY-TOMATO\Y.Yang"/"lakewalker"
EXEC SQL DECLARE SX CURSOR FOR
SELECT Sno,Sname,Ssex,Sage
FROM "S-T".Student
WHERE SDept=:dept
EXEC SQL OPEN SX;
for(;;)
{
EXEC SQL FETCH SX INTO :HSno, :HSname, :HSsex, :HSage;
if(sqlca.sqlcode!=0)
{
break;
}
if(count++==0)
printf("\n% -10s % -20s % -10s % -10s\n","Sno","Sname","Ssex","HSage");
printf("% -10s % -20s % -10s % -10d\n",HSno,HSname,HSsex,HSage);
printf("UPDATE AGE(y/n)?");
do
{
scanf("%C",&yn);
}
while(yn!='N'&&yn!='n'&&yn!='Y'&&yn!='y');
if(yn=='Y'||yn=='y')
{
printf("INPUT NEWAGE");
scanf("%d",&NEWAGE);
EXEC SQL UPDATE Stduent
SET Sage=:NEWAGE
WHERE CURRENT OF SX;
}
}
EXEC SQL CLOSE SX;
EXEC SQL COMMIT WORK;
EXEC SQL DISCONNECT TEST;
}
我机器上安装的是SQL SERVER2005,这段代码进行编译,系统报错,无法编译通过。网上查了很多,也没有相关的文章,只好在这请教各位高手了,帮忙帮忙!应该如何进行连接?
9 个解决方案
#1
告诉你们老师,他很欠扁。
#2
直接调用api或者用VC做成Dll供c代码调用。
#3
在理论上使用C语言可以直接和任何的DBMS相联,但是在TC环境下是做不到的。可能你TC太老了吧,不支持这样的数据库接口技术。建议用VC,要是你非要用TC就只能直接调用api或者用VC做成Dll供c代码调用。我是这样理解的,不知道这样回答你的问题能否满意。
#4
现在都在用VC吧
怎么还在TC呢
怎么还在TC呢
#5
VC也没有啊…… 是不是要进行相关设置啊?
#6
哪里报错了?
#7
#8
---
TC可以调用dll????
静态库还好,动态库,基本上不可能。。。
#9
------
伪码和代码共存。。。。
恐怖啊
#1
告诉你们老师,他很欠扁。
#2
直接调用api或者用VC做成Dll供c代码调用。
#3
在理论上使用C语言可以直接和任何的DBMS相联,但是在TC环境下是做不到的。可能你TC太老了吧,不支持这样的数据库接口技术。建议用VC,要是你非要用TC就只能直接调用api或者用VC做成Dll供c代码调用。我是这样理解的,不知道这样回答你的问题能否满意。
#4
现在都在用VC吧
怎么还在TC呢
怎么还在TC呢
#5
VC也没有啊…… 是不是要进行相关设置啊?
#6
哪里报错了?
#7
#8
---
TC可以调用dll????
静态库还好,动态库,基本上不可能。。。
#9
------
伪码和代码共存。。。。
恐怖啊