SQL Server怎么不让写数据? (300分)

  • 主题发起人 主题发起人 o*o
  • 开始时间 开始时间
O

o*o

Unregistered / Unconfirmed
GUEST, unregistred user!
俺用TDataBase和TQuery连接SQL Server7,可以读出数据,
可是RequestLive设成True,CanModify还是False。
怎样才能写入?
 
试用提交过程
try
Database1.Commit;
showmessage('提交成功');
except
showmessage('提交失败');
database1.Rollback ;
end;
 
Oooooo....

这个问题竟然?......
老兄是不是刚开始写数据库程序呀! :-)

只有很少部分的SQL语句才能requestlive,复杂的SQL语句只能用TUpdateSQL来解决。
 
同意温!
用updatesql了吧!
 
只有本地数据库,用RequestLive=true,才能保存到数据库在,对于C/s数据库你应加入
TUpdateSQL控件,设Tquery.canchedUpdates=True,UpdateObject=TUpdateSQL,再设TUpdateSQL
的DeleSql,ModifySql,InsertSQl属性,然后再提交,提交代码如下:


database1.StartTransaction;
try
TQurey.applyUpdates;
Database1.Commit;
except
Database1.Rollback;
raise;
end;
TQurey.Commitupdates;
end;
 
不好意思,俺以前从没作过数据库。呵呵。
是在WINCGI中操作数据库,只是本地用,可以用TQuery吧?
用到的SQL语句也没有复杂的。



 
>>用到的SQL语句也没有复杂的

不复杂也不一定行(比如:Order by都不行),写出一句来看看吧。
另外,SQL server中用requestlive时,字段名称大小写必须严格区分。
 
对不起,order by有时是可以的(SQL server下可以) :-)
 
如果有多表关联查询就只能read-only了。
 
K!
原来是俺的Insert语句参数写错了。:-(
 
//faint!!!!!!!!!

天哪!以后一定坚持等一个问题提出一天之后再回答 :-(
 
后退
顶部