HyperNetDatabase






4.11/5 (14投票s)
2004 年 3 月 18 日
4分钟阅读

126185

820
HyperNetDatabase 是一个单进程多线程且防黑客的数据库。
引言
本项目旨在帮助那些将 ACCESS 等商业数据库用于小型项目,从而受到商业法律约束的用户。这是一个简单的数据库引擎解决方案,可以为常规数据库任务提供强大的功能。此驱动程序免费(GPL)。
使用代码
将 HyperNetDatabase.DLL 和 NetFrmExts.DLL 这两个 DLL 链接到您的项目中即可。请注意使用 R2 版本,R1 版本较旧且不稳定。
打开数据库并执行 select 操作
using HyperNetDatabase.R2;
...
Database db = new Database();
db.Open("file.hnd"); // creates or opens database
...
..
DataTable result = db.Select(
new string[]{"SEQNAME"}, // fields as an array of strings
"$Sequences", // Name of the table
new object[,]{ {"SEQNAME","=",myseq} }
// pairs of filter conditions : ... WHERE SEQNAME=myseq AND ...
);
..
db.Close();
公共静态方法
![]() |
将 Data Row 转换为 NameAndValue 对象,并可选择跳过行。 |
公共实例构造函数
![]() |
默认构造函数 |
公共实例属性
![]() Filename |
数据库文件名 |
|
全局锁,用于锁定其他线程执行并发查询。例如:先读取再插入。 |
|
连接状态 |
公共实例方法
|
添加字段 | ||||||||||||||
|
如果字段不存在则添加 | ||||||||||||||
|
添加表 | ||||||||||||||
|
如果表不存在则添加 | ||||||||||||||
|
关闭数据库 | ||||||||||||||
|
SQL DELETE 查询 using HyperNetDatabase.R2;
...
Database db = new Database();
db.Open("file.hnd");
// creates or opens database
...
string StockName = "peppers";
DataTable result = db.Delete("Stock",
new object[,]{ {"NAME","=",StockName} }
);
...
等同于: WHERE 表达式:用于生成 WHERE 子句的 C# 表达式。
| ||||||||||||||
|
删除表 | ||||||||||||||
|
如果表存在则删除 | ||||||||||||||
|
转储页面状态 | ||||||||||||||
|
如果表存在则返回 true | ||||||||||||||
|
销毁内存索引。如果已经遍历了很多表且内存资源不足,请执行此操作。 | ||||||||||||||
|
重载。更广为人知的名称是 Update or Insert(通过键字段设置值),如果条件不匹配则插入,如果条件匹配则更新。 db.ForcedInsert( "Stock", "NAME",
"Peppers", "Qty", 0.5m );
等同于 SELECT Count(*) FROM STOCK WHERE NAME="Peppers";
if count > 0 then
UPDATE STOCK SET Qty=0.5 WHERE NAME="Peppers";
else
INSERT INTO STOCK (NAME,Qty)
VALUES ("Peppers",0.5);
| ||||||||||||||
|
获取一个值,如果不存在则获取其默认值 | ||||||||||||||
|
获取此数据库中的所有表 | ||||||||||||||
|
用户字段 | ||||||||||||||
|
向表中插入数据 using HyperNetDatabase.R2;
...
Database db = new Database();
db.Open("file.hnd");
// creates or opens database
...
string StockName = "peppers";
DataTable result = db.Insert(
"Stock", new object[,]
{ {"NAME",StockName}, {"QTY",0.5m} } );
...
等同于:INSERT INTO Stock (NAME,QTY) VALUES (@StockName,0.5); SET 表达式:用于指示字段及其值的 C# 表达式。 new object[,]{ {"QTY",0.5m} }
new object[,]{ {"STRNAME","peppers"},
{"QTY",0.5m} }
| ||||||||||||||
![]() LogToFile (继承自 LogSupport) |
将字符串保存到日志文件中 | ||||||||||||||
|
打开 | ||||||||||||||
|
预加载表索引以加快读取速度 | ||||||||||||||
|
SQL Select 查询。 using HyperNetDatabase.R2;
...
Database db = new Database();
db.Open("file.hnd"); // creates or opens database
...
string StockName = "peppers";
DataTable result = db.Select(null,"Stock",
new object[,]{ {"NAME","=",StockName} }
);
...
result = db.Select(new string[]{"NAME"},"Stock",
new object[,]{ {"NAME","=",StockName} }
);
...
等同于
| ||||||||||||||
|
重载。创建序列。 | ||||||||||||||
|
当前序列值 | ||||||||||||||
|
删除序列 | ||||||||||||||
|
序列是否存在? | ||||||||||||||
|
下一个序列值(并自动递增) | ||||||||||||||
|
SQL UPDATE 查询 using HyperNetDatabase.R2;
...
Database db = new Database();
db.Open("file.hnd"); // creates or opens database
...
string StockName = "peppers";
DataTable result = db.Update("Stock",
new object[,]{ {"NAME",StockName}, {"QTY",0.5m} },
new object[,]{ {"NAME","=","pepperoni"} }
);
...
等同于:UPDATE Stock SET NAME=@StockName, QTY=0.5 WHERE NAME=pepperoni WHERE 表达式:用于生成 WHERE 子句的 C# 表达式。
SET 表达式:用于指示字段及其值的 C# 表达式。
new object[,]{ {"QTY",0.5m} } new object[,]{ {"STRNAME","peppers"},
{"QTY",0.5m} } |
关注点
- 支持所有基本的 SQL 函数。
- 附加功能。
- 防止断电
- 多线程安全
历史
发布版本 2.0.0 说明 - 2004-03-17
特点
- 第一个稳定版本
- 支持所有基本的 SQL 函数。
- 附加功能。
- 防止断电
- 多线程安全