C#三层架构问题

来源:百度知道 编辑:UC知道 时间:2024/08/22 20:13:22
我用三层架构做了个酒店管理系统,实现了Access和SqlServer接口。如果使用SqlServer的话程序运行正常。使用Access的时候能显示数据库信息,但是不能进行修改和新增。。如果进行上述操作的话会抛出异常显示sql语句不正确。我的sql语句是复制SqlServer接口中的Sql语句。我在Access中加入了自动编号字段,错误原因是不是因为自动编号没有自动添加才使得程序报错?Access的Sql语句应该怎么写??
我的插入语句
sql = string.Format("insert into Room values({6},{0},{1},'{2}','{3}',{4},{5})", room.Number, room.BedNumber, room.Description, room.State, room.GuestNumber, room.TypeID,2);

我的更新语句:
sql = string.Format("update Room set Number='{0}',BedNumber={1},Description='{2}',State='{3}',GuestNubmer={4},TypeID={5} where RoomID={6}", room.Number, room.BedNumber, room.Description, room.State, room.GuestNumber, room.TypeID, room.RoomId);

Access数据库的设计为:
Room表:RoomID--自动编号,Number--文本,BedNumber--数字,Description--文本,State--文本,GurestNumber--数字,TypeID--数字

RoomType表:TypeId--自动编号,TypeName--文本,TypePrice--货币,IdAddBed--文本,AddBedPrice--货币,Remark--文本
sql语句中的{6},和数字2是后面报错时修改的

自动编号列不能insert

插入语句 insert into Room后面跟上列名试试

确保asp.net程序对access文件有编辑的权限。

access 与 sql的语法 应该有点差别的吧?你找找