- 浏览: 328621 次
最新评论
-
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 912最近抽空翻译了D语言实用入门教程 地址在Github,供初 ... -
编译WxD0.16
2011-09-27 18:09 1733wx我在Python环境下用了 ... -
简单看了下DGui
2011-09-26 10:39 2299很久没有写代码了。。。。 怀念往日不如今天行动。生疏了 ... -
支持中文录入的harmonia
2010-08-16 22:40 1049harmonia界面很方便,发现不能录入中文.Patch一下. ... -
控制台得到密码不回显
2009-09-18 22:37 1280看到坛子有人问“在D或C下如何实现输入单个字符不回显?可能的应 ... -
D资源文件调用
2009-08-09 01:36 1075终于成功了。 资源文件太可爱,竟然可以如此。按名称进行 ... -
The Case for D中英文版PDF下载
2009-06-19 10:27 1418The Case for D 在网站上浏览不方便的,有了PD ... -
D语言真相 The Case for D(1-5)
2009-06-17 09:52 4932D语言真相 Andrei Alexandre ... -
The Case for D
2009-06-16 22:50 2319The Case for D Andrei Alexan ... -
Python嵌入D
2009-06-12 11:37 2001所有的嵌入都研究了一个遍。发现嵌入Python挺好,试试。 ... -
实用的DFL注册表
2009-05-27 09:09 1042应用中要用到注册表.DFL里面有. 参照了文档,写了一 ... -
DFL 2.027,1.041,2,3编译
2009-04-07 17:59 1615注:DFL已经更新,http://www.dprogrammi ... -
D2.0的字符串
2009-04-07 08:28 1394D2.0的字符串增加了常量,不变量和变量.在很大程度上增加了语 ... -
D语言编译器DMD开源了!
2009-03-05 19:56 3523自从1999年12月,Walter设计开发D语言以来,D语 ... -
D语言现状From2007
2009-03-02 15:32 1080I'm sure this was brought up in ... -
D语言GUI库简单比较
2009-02-20 15:25 3269通过对一些D语言可以使用的GUI进行比较,对初学者有个借 ... -
D语言脚本引擎简单比较
2009-02-19 14:38 1842经过长期的测试,使用,扩展代码编写,比较了D中可以使用的几种脚 ... -
D语言编译器开始支持Mac OSX
2009-02-15 18:25 1183D语言编译器开始支持Mac OSX。 D语言历经10年的发 ... -
触发DFL中的ComboBox控件的键盘事件
2009-02-06 12:04 1212class ComboxKeyDownFilter:IMess ... -
DFL分析(四)伟大的结构
2008-12-25 00:08 1434每个程序都有很多的代码编织而成.为了获得最大的兼容性,你要从容 ...
相关推荐
在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扎带捆扎**。当塔上无法使用馈线卡...
DAB变换器双向运行模型:单重移相控制策略与切换过程电压幅度研究,DAB变器双向运行模型。 单重移相控制 不少伙伴咨询DAB怎么改反向运行。 特意搭建了这个双向运行的DAB模型。 可实现正反向的不间断运行,是一个集成在一起的模型。 如展示图所示,图中0.3s处改变了功率传输的方向。 如果想研究切过程电压幅度的问题,可看我另一个关于DAB控制的方法 ~ ,DAB变换器; 双向运行模型; 移相控制; 功率传输方向切换; 电压幅度。,DAB变换器双向运行模型:单重移相控制与电压幅度切换过程研究
掼蛋平台使用说明书1006 (1).pdf
"密歇根大学燃料电池系统Matlab Simulink模型:电堆、压缩机拟合及辅助模块的全面构建与解析",密歇根大学质子交膜燃料电池系统模型,matlab simulink模型 包含: 电堆模型。 压缩机拟合模型。 理想加湿器、冷却器模型。 阳极、阴极流道模型。 进排气总管模型。 包含模型1:1搭建过程文件。 每一个模块都有搭建过程,都有说明文件,中文wrod版。 附赠参考文。 ,关键词: 密歇根大学; 质子交换膜燃料电池系统模型; MATLAB Simulink模型; 电堆模型; 压缩机拟合模型; 理想加湿器、冷却器模型; 阳极、阴极流道模型; 进排气总管模型; 搭建过程文件; 说明文件; 附赠参考文。,"密歇根大学燃料电池系统模型:Matlab Simulink电堆与辅助组件模型集"
免费JAVA毕业设计 2024成品源码+论文+录屏+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
1、文件内容:perl-DBD-MySQL-4.023-6.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/perl-DBD-MySQL-4.023-6.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
ollama基础知识简介.md
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
YD-T 4961.3-2024 隐私计算 跨平台互联互通 第3部分:互联协议.pdf
资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档切片混合解析和叠加展示风格,请放心使用。 2:29页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解),旨在为更多的人甚至零基础的人也能运行、使用和学习。 3:配套毕业论文,万字长文,word文档,支持二次编辑。 4:配套答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关电子教程、视频教学资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于B/S网络结构,在IDEA中开发。服务端用Java并借Spring Boot框架搭建后台。前台采用支持HTML5的VUE框架。用MySQL存储数据,可靠性强。 能学到什么: 使用Spring Boot搭建后台。VUE框架构建前端交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。
eLab
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
CST超表面仿真技术在近场成像与全息案例应用中的实践与探索,cst超表面仿真 近场成像与全息案例 ,核心关键词: 1. CST超表面仿真; 2. 近场成像; 3. 全息案例。,CST超表面仿真与近场成像全息案例
1、文件内容:perl-Module-Runtime-0.013-4.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/perl-Module-Runtime-0.013-4.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装