- 浏览: 326373 次
最新评论
-
riki:
D 语言学习交流群 264617728, 欢迎加入
D语言真相 The Case for D(1-5) -
exploder:
请教,如果使用D2进行wxD编译呢?
编译WxD0.16 -
blue_halo:
那如何解决呢????????
不能每次都用别的打开存成utf- ...
pyDev 中输入中文问题 -
funxue:
请教楼主
Error: undefined identifie ...
D语言版本的华容道 -
litsen:
在配置ms sqlserver的过程中遇到些问题,从Googl ...
安全第一,在sql server和client之间配置ssl连接
D的数据库 接口 DDBI
所有的程序都可能访问数据库。为了让D兼容其他语言开发的数据库接口,并为开发者提供统一的访问形式,DDBI应运而生。
DDBI 包含几个核心的 类,包装了数据库的基本操作。
Row 包含了多个列的一个行。允许使用索引和列名访问行的数据。
Database 提供了一个抽象的数据库封装,包含了连接,执行Sql语句,返回行的函数。
Result 管理一个从数据库返回的结果集,返回多个Row。
statement 实现了动态参数构建sql语句的类,可以执行sql语句。
例子:
经过我的测试,sqlite兼容性最好。其次是mysql。现在我就一直在用Sqlite。目前的版本还很低,她的论坛也一直在讨论Row的新版本。
网站http://dsource.org/projects/ddbi
论坛http://www.dsource.org/forums/viewforum.php?f=60
SVN http://svn.dsource.org/projects/ddbi/trunk/
D:\tags\0.2.4>dmd -run buildme.d sqlite
Error: 4invalid UTF-8 sequence
続行するには何かキーを押してください . . .
D:\tags\0.2.4>
所有的程序都可能访问数据库。为了让D兼容其他语言开发的数据库接口,并为开发者提供统一的访问形式,DDBI应运而生。
DDBI 包含几个核心的 类,包装了数据库的基本操作。
Row 包含了多个列的一个行。允许使用索引和列名访问行的数据。
Database 提供了一个抽象的数据库封装,包含了连接,执行Sql语句,返回行的函数。
Result 管理一个从数据库返回的结果集,返回多个Row。
statement 实现了动态参数构建sql语句的类,可以执行sql语句。
例子:
import dbi.sqlite.SqliteDatabase; import std.stdio; void main() { SqliteDatabase db = new SqliteDatabase(); db.connect("test.db"); Row[] rows = db.queryFetchAll("SELECT * FROM names"); foreach (Row row; rows) { writefln("name: %s\nzip: %s\n", row["name"], row["zip"]); } db.close(); }
经过我的测试,sqlite兼容性最好。其次是mysql。现在我就一直在用Sqlite。目前的版本还很低,她的论坛也一直在讨论Row的新版本。
网站http://dsource.org/projects/ddbi
论坛http://www.dsource.org/forums/viewforum.php?f=60
SVN http://svn.dsource.org/projects/ddbi/trunk/
评论
31 楼
闹海金蛟
2007-03-07
我用的是ddbi 2.4, 没有使用tango,用到的都是英文目录
30 楼
tomqyp
2007-03-06
你用的是tango还是phobos看看buildme所用到的一些库是不是在中文目录里面
29 楼
闹海金蛟
2007-03-06
D:\tags\0.2.4>dmd -run buildme.d sqlite
Error: 4invalid UTF-8 sequence
続行するには何かキーを押してください . . .
D:\tags\0.2.4>
28 楼
ideage
2007-03-03
to tomqyp:
原因可能是:
1.和数据库的数据有关系,数据可能是空.
2.printf和writefln有BUG.
原因可能是:
1.和数据库的数据有关系,数据可能是空.
2.printf和writefln有BUG.
27 楼
tomqyp
2007-03-03
ideage我编译通过了,但是执行程序时出现Access Violation
我参照你在DDBI论坛里的办法,找到是调用mysql_fetch_row函数时就会Access Violation
但是不知道是什么原因
我参照你在DDBI论坛里的办法,找到是调用mysql_fetch_row函数时就会Access Violation
但是不知道是什么原因
26 楼
ideage
2007-03-03
D:\tags\0.2.4\trunk>dmd -run buildme.d sqlite3 不对.
应该
D:\ProgramFiles\D\OpenSource>dmd buildme.d sqlite
没有3.把tags下的文件复制到opensource下.再试试.
应该
D:\ProgramFiles\D\OpenSource>dmd buildme.d sqlite
没有3.把tags下的文件复制到opensource下.再试试.
25 楼
闹海金蛟
2007-03-03
我的sc.ini
[Version]
version=7.51 Build 020
[Environment]
LIB="%@P%\..\lib";\dm\lib;D:\ProgramFiles\D\lib
DFLAGS="-I%@P%\..\src\phobos;D:\ProgramFiles\D\OpenSource"
LINKCMD=%@P%\..\..\dm\bin\link.exe
其中,libmysql.lib libmysql.dll sqlite3.lib sqlite3.dll都是在D:\ProgramFiles\D\lib这个目录下,D:\ProgramFiles\D\OpenSource下有dbi(2.4)tango等目录,
我可以成功生成libmysql.lib sqlite3.lib文件,但
dmd -run buildme.d sqlite 编译生成dbi.lib
(buildme.d是不是就是你写的builddbi.d?)时,会提示
D:\tags\0.2.4\trunk>dmd -run buildme.d sqlite3
Error: 4invalid UTF-8 sequence
我已经用了2.4版的dbi了.
而在codeblocks里面,我也已经把sqlite3.lib libmysql.lib都引进来了,并且加了一句import dbi.all;因为sqlite3的例子说是没有定义row,codeblocks提示如下
:: Symbol Undefined _D3dbi6sqlite14SqliteDatabase14SqliteDatabase7__ClassZ
:: Symbol Undefined _D3dbi6sqlite14SqliteDatabase14SqliteDatabase5_ctorMFZC3dbi6sqlite14SqliteDatabase14SqliteDatabase
:: Symbol Undefined _D3dbi8Database8Database13queryFetchAllMFAaZAC3dbi3Row3Row
:: Symbol Undefined _D3dbi3Row3Row7opIndexMFAaZAa
:: === Build finished: 4 errors, 0 warnings ===
跟mysql的错误差不多嘛.
(既然sc.ini已经指定了dbi的路径,codeblock里面应该不用先编译dbi.lib吧?可以直接引用dbi里面的东西嘛?)
[Version]
version=7.51 Build 020
[Environment]
LIB="%@P%\..\lib";\dm\lib;D:\ProgramFiles\D\lib
DFLAGS="-I%@P%\..\src\phobos;D:\ProgramFiles\D\OpenSource"
LINKCMD=%@P%\..\..\dm\bin\link.exe
其中,libmysql.lib libmysql.dll sqlite3.lib sqlite3.dll都是在D:\ProgramFiles\D\lib这个目录下,D:\ProgramFiles\D\OpenSource下有dbi(2.4)tango等目录,
我可以成功生成libmysql.lib sqlite3.lib文件,但
dmd -run buildme.d sqlite 编译生成dbi.lib
(buildme.d是不是就是你写的builddbi.d?)时,会提示
D:\tags\0.2.4\trunk>dmd -run buildme.d sqlite3
Error: 4invalid UTF-8 sequence
我已经用了2.4版的dbi了.
而在codeblocks里面,我也已经把sqlite3.lib libmysql.lib都引进来了,并且加了一句import dbi.all;因为sqlite3的例子说是没有定义row,codeblocks提示如下
:: Symbol Undefined _D3dbi6sqlite14SqliteDatabase14SqliteDatabase7__ClassZ
:: Symbol Undefined _D3dbi6sqlite14SqliteDatabase14SqliteDatabase5_ctorMFZC3dbi6sqlite14SqliteDatabase14SqliteDatabase
:: Symbol Undefined _D3dbi8Database8Database13queryFetchAllMFAaZAC3dbi3Row3Row
:: Symbol Undefined _D3dbi3Row3Row7opIndexMFAaZAa
:: === Build finished: 4 errors, 0 warnings ===
跟mysql的错误差不多嘛.
(既然sc.ini已经指定了dbi的路径,codeblock里面应该不用先编译dbi.lib吧?可以直接引用dbi里面的东西嘛?)
24 楼
ideage
2007-03-02
1.修改一下sc.ini
例如我的是:
[Version]
version=7.51 Build 020
[Environment]
LIB="%@P%\..\lib";\dm\lib
DFLAGS="-I%@P%\..\src\phobos;D:\D\dmd\import"
LINKCMD=%@P%\..\..\dm\bin\link.exe
2.先编译库.
例如编译sqlite,使用implib和sqlite3.dll生成一个 sqllite3.lib
使用 dmd -run builddbi.d sqlite 编译生成dbi.lib
3.再编译应用程序.引用dbi.lib,sqllite3.lib
dmd test.d dbi.lib sqllite3.lib -I..
例如我的是:
[Version]
version=7.51 Build 020
[Environment]
LIB="%@P%\..\lib";\dm\lib
DFLAGS="-I%@P%\..\src\phobos;D:\D\dmd\import"
LINKCMD=%@P%\..\..\dm\bin\link.exe
2.先编译库.
例如编译sqlite,使用implib和sqlite3.dll生成一个 sqllite3.lib
使用 dmd -run builddbi.d sqlite 编译生成dbi.lib
3.再编译应用程序.引用dbi.lib,sqllite3.lib
dmd test.d dbi.lib sqllite3.lib -I..
23 楼
tomqyp
2007-03-02
我MSN很少用,加进libmysql.lib用-I你的路径\libmysql.lib
codeblocks里 可能是Project->Build option->Linker setting 这里设置
codeblocks里 可能是Project->Build option->Linker setting 这里设置
22 楼
闹海金蛟
2007-03-02
:: Symbol Undefined _D3dbi5mysql13MysqlDatabase13MysqlDatabase7__ClassZ
:: Symbol Undefined _D3dbi5mysql13MysqlDatabase13MysqlDatabase5_ctorMFZC3dbi5mysql13MysqlDatabase13MysqlDatabase
:: Symbol Undefined _D3dbi8Database8Database13queryFetchAllMFAaZAC3dbi3Row3Row
:: Symbol Undefined _D3dbi3Row3Row7opIndexMFAaZAa
:: === Build finished: 4 errors, 0 warnings ===
这是在codeblocks里面编译的结果,请问第一页说的用libmysql.lib怎么加到里面
:: Symbol Undefined _D3dbi5mysql13MysqlDatabase13MysqlDatabase5_ctorMFZC3dbi5mysql13MysqlDatabase13MysqlDatabase
:: Symbol Undefined _D3dbi8Database8Database13queryFetchAllMFAaZAC3dbi3Row3Row
:: Symbol Undefined _D3dbi3Row3Row7opIndexMFAaZAa
:: === Build finished: 4 errors, 0 warnings ===
这是在codeblocks里面编译的结果,请问第一页说的用libmysql.lib怎么加到里面
21 楼
闹海金蛟
2007-03-02
能留下两位的MSN吗?
想请教一下。
想请教一下。
20 楼
闹海金蛟
2007-03-02
D:\tags\0.2.4>build buildme.d
Error: 4invalid UTF-8 sequence
这是2.4版
Error: 4invalid UTF-8 sequence
这是2.4版
19 楼
tomqyp
2007-03-02
闹海金蛟你用用build.exe编译试试,或者tango带了一个工具jake应该跟build差不多,我用dmd编译也有你说的情况。
18 楼
tomqyp
2007-03-02
跟你的情况有点不同,我的在调用mysql_fetch_row时就Access Violation了
17 楼
ideage
2007-03-02
下载个2.4版本的.别用Tango.再试试.
16 楼
闹海金蛟
2007-03-02
为什么我的就一直不行呢?
buildme.obj(buildme)
Error 42: Symbol Undefined _D5tango2io9FileProxy9FileProxy7__ClassZ
buildme.obj(buildme)
Error 42: Symbol Undefined _D5tango2io9FileProxy9FileProxy5_ctorMFAabZC5tango2i
o9FileProxy9FileProxy
buildme.obj(buildme)
Error 42: Symbol Undefined _D5tango2io9FileProxy9FileProxy6toListMFDFAaAabZvZv
--- errorlevel 3
buildme.obj(buildme)
Error 42: Symbol Undefined _D5tango2io9FileProxy9FileProxy7__ClassZ
buildme.obj(buildme)
Error 42: Symbol Undefined _D5tango2io9FileProxy9FileProxy5_ctorMFAabZC5tango2i
o9FileProxy9FileProxy
buildme.obj(buildme)
Error 42: Symbol Undefined _D5tango2io9FileProxy9FileProxy6toListMFDFAaAabZvZv
--- errorlevel 3
15 楼
ideage
2007-03-02
和数据库的数据有关系,如果是空格数据或者是空就会发生.使用writefln就没有问题,用printf就错误.
当时的版本已经修复了我的问题.
最近不使用DDBI了. 不如用C访问,封装DLL方便.
当时的版本已经修复了我的问题.
最近不使用DDBI了. 不如用C访问,封装DLL方便.
14 楼
tomqyp
2007-03-02
刚在DDBI论坛上看到你Access Violation问题的贴子了,不过我英文不好看不大明折,能说说是怎么解决的吗?
13 楼
tomqyp
2007-03-02
谢谢 终于编译出来了
不地运行时 提示
Access Violation
这个是mysql的问题吗
不地运行时 提示
Access Violation
这个是mysql的问题吗
12 楼
ideage
2007-02-28
1. implib /s libmysql.lib libmysql.dll 使用加S的开关.
2.下载最新版本的DDBI.
3. dmd -run builddbi.d mssql 就可以了.
2.下载最新版本的DDBI.
3. dmd -run builddbi.d mssql 就可以了.
发表评论
-
最近抽空翻译了D语言实用入门教程
2018-04-20 10:42 883最近抽空翻译了D语言实用入门教程 地址在Github,供初 ... -
编译WxD0.16
2011-09-27 18:09 1717wx我在Python环境下用了 ... -
简单看了下DGui
2011-09-26 10:39 2259很久没有写代码了。。。。 怀念往日不如今天行动。生疏了 ... -
支持中文录入的harmonia
2010-08-16 22:40 1040harmonia界面很方便,发现不能录入中文.Patch一下. ... -
控制台得到密码不回显
2009-09-18 22:37 1266看到坛子有人问“在D或C下如何实现输入单个字符不回显?可能的应 ... -
D资源文件调用
2009-08-09 01:36 1053终于成功了。 资源文件太可爱,竟然可以如此。按名称进行 ... -
The Case for D中英文版PDF下载
2009-06-19 10:27 1404The Case for D 在网站上浏览不方便的,有了PD ... -
D语言真相 The Case for D(1-5)
2009-06-17 09:52 4901D语言真相 Andrei Alexandre ... -
The Case for D
2009-06-16 22:50 2310The Case for D Andrei Alexan ... -
Python嵌入D
2009-06-12 11:37 1967所有的嵌入都研究了一个遍。发现嵌入Python挺好,试试。 ... -
实用的DFL注册表
2009-05-27 09:09 1018应用中要用到注册表.DFL里面有. 参照了文档,写了一 ... -
DFL 2.027,1.041,2,3编译
2009-04-07 17:59 1598注:DFL已经更新,http://www.dprogrammi ... -
D2.0的字符串
2009-04-07 08:28 1380D2.0的字符串增加了常量,不变量和变量.在很大程度上增加了语 ... -
D语言编译器DMD开源了!
2009-03-05 19:56 3481自从1999年12月,Walter设计开发D语言以来,D语 ... -
D语言现状From2007
2009-03-02 15:32 1069I'm sure this was brought up in ... -
D语言GUI库简单比较
2009-02-20 15:25 3230通过对一些D语言可以使用的GUI进行比较,对初学者有个借 ... -
D语言脚本引擎简单比较
2009-02-19 14:38 1820经过长期的测试,使用,扩展代码编写,比较了D中可以使用的几种脚 ... -
D语言编译器开始支持Mac OSX
2009-02-15 18:25 1157D语言编译器开始支持Mac OSX。 D语言历经10年的发 ... -
触发DFL中的ComboBox控件的键盘事件
2009-02-06 12:04 1197class ComboxKeyDownFilter:IMess ... -
DFL分析(四)伟大的结构
2008-12-25 00:08 1426每个程序都有很多的代码编织而成.为了获得最大的兼容性,你要从容 ...
相关推荐
在D语言中,我们需要通过`ddbi`或其他第三方库如`sqlitedome`来封装这个接口,以便于在D程序中进行数据库操作。 4. **数据库连接与操作**:使用`ddbi`或`sqlitedome`,开发者可以创建数据库连接,执行SQL语句,如...
DDBI - DynamoDB 接口生成器 这是一个接口生成器,用于通过与 Dynamodb 接口。 本质上,您使用 lispish sexpressions 在 ddbi 文件中定义一条记录,并对该文件调用ddbi命令。 定义记录 记录使用以下语法定义 field-...
本文将详细介绍如何使用 Java 语言连接四种常见类型的数据库:MySQL、SQL Server、Access 和 Oracle,并提供具体的代码示例。 #### 1. Java 连接 MySQL 数据库 为了实现 Java 应用程序与 MySQL 数据库之间的通信,...
4. **天线增益表示方法**:**DDBI=DBD+2.15**。DBI表示相对于各向同性辐射源的增益,DBD表示相对于偶极子的增益,两者之间的转换关系为DBI=DBD+2.15。 5. **馈线固定方式**:**A扎带捆扎**。当塔上无法使用馈线卡...
实验室管理系统 微信小程序+SSM毕业设计 源码+数据库+论文+启动教程 项目启动教程:https://www.bilibili.com/video/BV1BfB2YYEnS
基于java的苹果网吧计费管理系统设计与实现.docx
纸中世界-跳跃游戏.sb3
本操作指导用于在 ENA 系列网络分析仪 E5080B 上自定义校准件。目前 Keysight 网络分析仪的 PNA 系列 N52xxB、P50xx 系列、P937x 系列、PXI 板卡式网分以及 ENA 系列的 E5080B、E5081B 的操作界面均统一到如下界面,操作方式相同。
调查海域浮游动物各类群栖息密度的空间分布表格.docx
本项目“高校毕业生就业管理系统”是一套基于SSM框架(Spring+SpringMVC+MyBatis)精心开发的Java Web应用,旨在为高校毕业生、高校就业指导部门以及企业用户提供一个高效、便捷的就业信息管理平台。 系统主要功能包括:学生用户可以查看和发布个人简历,搜索并筛选合适的工作岗位,申请心仪的职位;企业用户可以发布招聘信息,筛选和查看应聘者的简历,进行面试邀请等操作;高校就业指导部门则可以对学生的就业情况进行统计和分析,以更好地提供就业指导服务。 此外,系统采用了B/S架构,用户只需通过浏览器即可访问,无需安装客户端软件,方便快捷。数据库设计合理,数据存储安全,系统性能稳定。 本项目的开发,不仅为计算机相关专业的学生提供了一个实践SSM框架的好机会,帮助他们更好地理解和掌握Java Web开发技术,还能有效提升高校毕业生的就业效率和质量。
电影剪辑 笔记MoviePy 最近升级到 v2.0,引入了重大的重大变化。有关如何更新 v2.0 代码的更多信息,请参阅本指南。MoviePy(在线文档在此处)是一个用于视频编辑的 Python 库剪切、连接、插入标题、视频合成(又名非线性编辑)、视频处理和创建自定义效果。MoviePy 可以读取和写入所有最常见的音频和视频格式,包括 GIF,并且可以在 Windows/Mac/Linux 上运行,并搭载 Python 3.9+。例子在此示例中,我们打开一个视频文件,选择 10 到 20 秒之间的子剪辑,在屏幕中心添加标题,然后将结果写入新文件# Import everything needed to edit video clipsfrom moviepy import *# Load file example.mp4 and keep only the subclip from 00:00:10 to 00:00:20clip = VideoFileClip("long_examples/example2.mp4").with_subcl
基于java的视频播放器系统设计与实现.docx
基于java的车辆出租管理系统设计与实现.docx
mqtt等协议的pcap文件
学习python
修木工施工规范及流程.docx
适用于 Windows/Linux 和 Python 3 (3.5/3.6/3.7) 的 Tensorflow Faster R-CNNtf-faster-rcnn使用 Python 3 在 Windows 和 Linux 上使用 Tensorflow Faster R-CNN这是在 Windows 和 Linux 上编译 Faster R-CNN 的分支。它深受这里和这里的出色工作的启发。目前,此存储库支持 Python 3.5、3.6 和 3.7。感谢@morpheusthewhite请注意我没有时间或意图修复此分支的所有问题,因为我不将其用于商业用途。我创建此分支只是为了好玩。如果您想做出任何承诺,我们非常欢迎。Tensorflow 已经发布了一个对象检测 API。请参考它。https: //github.com/tensorflow/models/tree/master/research/object_detection如何使用此分支安装 tensorflow,最好是 GPU 版本。按照说明操作。如果没有安装 GPU 版本,则需要注释掉代码中的所有 GP
Python是一种高级、解释型、面向对象的编程语言,以其简洁的语法、强大的功能和广泛的应用领域而著称。它无需事先编译,代码在运行时逐行解释执行,提供了极大的灵活性和快速开发的能力。Python支持多种数据类型,包括整数、浮点数、字符串、布尔值、列表、元组、字典和集合等,以及丰富的操作符和流程控制结构,使得开发者可以编写出复杂且灵活的代码。 Python拥有一个广泛的标准库,涵盖了文件操作、网络通信、文本处理、正则表达式、数学运算等多个领域,为开发者提供了大量的模块和函数。此外,Python还拥有丰富的第三方库,如NumPy、Pandas、Matplotlib等用于数据分析和可视化的库,以及Django、Flask等用于Web开发的框架,这些库和框架进一步扩展了Python的应用领域和功能。 Python在Web开发、数据科学、人工智能、自动化运维和游戏开发等多个领域都有广泛的应用。在Web开发方面,Python提供了Django和Flask等强大的Web框架,使得开发者可以轻松地开发出各种Web应用和网站。在数据科学领域,Python是数据科学家的首选工具,其强大的数据处理能力和丰
本项目是基于Python语言开发的西西家居全屋定制系统,旨在为家居行业提供一个高效、智能的定制解决方案。项目涵盖了从客户需求分析、设计方案生成、材料选购到最终订单生成的全过程,力求实现家居定制的数字化和智能化。 在主要功能方面,系统具备强大的客户管理模块,能够详细记录和分析客户的定制需求。设计模块则采用先进的三维建模技术,为客户提供直观、真实的家居设计方案预览。此外,系统还整合了丰富的材料数据库,方便客户根据自身喜好和预算进行材料选择。 框架方面,项目采用了B/S架构,确保了系统的稳定性和可扩展性。后端使用Python的Django框架,前端则结合了HTML、CSS和JavaScript等技术,实现了用户界面的友好和响应速度。 开发此项目的目的,不仅是为了满足家居行业对个性化定制的需求,也为计算机相关专业的学生提供了一个实践和学习的平台,有助于提升他们的实际开发能力。
Binance公共API连接器Python 这是一个轻量级库,可作为Binance 公共 API的连接器支持的 API/api/*/sapi/*现货 Websocket 市场动态现货用户数据流现货 WebSocket API包含测试用例和示例可定制的基本 URL、请求超时和 HTTP 代理可以显示响应元数据安装pip install binance-connector文档https://binance-connector.readthedocs.ioRESTful API使用示例from binance.spot import Spotclient = Spot()# Get server timestampprint(client.time())# Get klines of BTCUSDT at 1m intervalprint(client.klines("BTCUSDT", "1m"))# Get last 10 klines of BNBUSDT at 1h intervalprint(client.k