Lazarus连接MSSQLServer的连接问题

Lazarus连接MSSQLServer有两种方式,一种是自带的ODBCConnection,一种是使用第三方控件。

其自带的MSSQLConnection和SQLConnector不能直接连接MSSQLServer数据库,无论怎么设置都是白费劲,提示External:ACCESS VIOLATION。如果有成功的高手请赐教一下。但是SQLConnector也可以通过ODBC连接。

第三方控件我测试了两个,一个是zeosdbo一个是SDAC,感觉后一个比较好用。

SDAC在使用SQLServer时,Nvarchar(MAX)字段显示异常,需要在MSQuery的属性DataTypeMap中设置NText-->Memo映射一下(options--dgdisplaymemotext=true)。或者直接用字段名映射字段类型。zeosdbo一直没有找到方式。

zeosdbo连接SQLServer时,sql语句使用汉字表名需要加上引号[]才可以识别,否则显示乱码并提示错误。。

另外,Lazarus中使用属性时,发现自动提示的属性或方法后面有的加了一把小锁,不知何意,使用时发现有时不能正常的反馈结果,难道是受限制或和其他属性一并使用的提示?一直没有弄明白。比如SqlQuery1.RecordCount;自动提示的Prepared属性后有一把小锁,反馈的结果不是实际的计数,第一次是20,再刷新可能会显示实际计数,这是在PacketRecord:=-1的情况下出现的问题。尝试用Rowsaffected,可以显示正确计数。这个和Delphi中的Adoquery不一样。

另外,在3.0RC1和2.2.6版本,你想用拼音录入 //显示全部 时,当联想显示过程到 //县市区 后,系统自动退出。直接录入 //县市区 没有问题。测试后,微软的拼音录入没问题,手心录入法有问题。可能是软件冲突。

初学,暂时写这么多吧,以上有误请指正。

2023.10.23补充

感谢码友Q315054403提供MSSQL驱动控件,已经可以使用MSSQLConnection连接数据库,这个连接还解决了UTF8的乱码问题,非常感谢!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Lazarus SQLite 是一个供 Lazarus 开发环境使用的轻量级数据库管理系统。SQLite 是一种嵌入式数据库,可以在没有服务器的情况下直接访问和操作数据库文件。 Lazarus 是一个跨平台的集成开发环境,主要用于 Free Pascal 编程语言。它支持多种操作系统,如 Windows、Linux 和 Mac OS X,并提供了开发图形用户界面(GUI)应用程序所需的各种工具和组件。 借助 Lazarus SQLite,开发者可以在他们的 Lazarus 项目中使用数据库功能。SQLite 是一个零配置、零管理的数据库引擎,非常适合嵌入式场景和小规模应用程序。使用 Lazarus SQLite,开发者可以无需安装或配置额外的数据库服务器,直接在程序中进行数据库操作。 Lazarus SQLite 提供了一组用于连接和操作 SQLite 数据库的组件和接口。开发者可以使用这些组件来创建、修改和查询数据库,执行 SQL 语句,以及处理数据库连接和事务等操作。Lazarus SQLite 具有简单易用的 API,程序员可以方便地操作 SQLite 数据库,实现数据的存取、修改和查询等功能。 与传统的关系型数据库相比,SQLite 是非常轻量级和灵活的。它的数据库文件以单个文件的形式存在,可以直接进行复制和传输。同时,SQLite 还支持事务处理、数据完整性控制和查询优化等一系列高级功能,可以满足多种应用场景的需求。 总之,Lazarus SQLite 提供了方便、快捷的数据库管理功能,支持开发者在 Lazarus 开发环境中进行 SQLite 数据库相关的操作。无论是开发小型应用程序还是嵌入式设备,Lazarus SQLite 都是一个理想的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值