本教程演示使用Visual Studio 2005创建一个Web程序,使用NBearLite查询SQL Server 2000自带的Northwind数据库的典型过程。对于WinForm程序开发者而言,同样具有参考价值,只需注意在WinForm程序中应用程序配置文件为App.config,而Web程序中为Web.config。
步骤1 新建Website工程
在VS2005中新建一个Website,为Website新建一个App_Code目录。
在 Default.aspx文件中新建一个名叫GridView1的GridView控件和一个名叫GridView2的GridView控件。
步骤2 配置ConnectionString
修改Web.config文件,在<configuration>中添加一个下面的<connectionStrings>配置节(如果您使用的是其他数据库,请参考配置ConnectionString),请注意修改其中访问您本地SQL Server数据库的帐号密码。
<connectionStrings>
<add name="Northwind" connectionString="Server=(local);Database=Northwind;Uid=sa;Pwd=sa" />
</connectionStrings>
步骤3 引用NBearLite.dll
为Website项目添加NBearLite.dll引用(位于下载的zip包的dist目录),如果您使用的是其他数据库类型,您可能需要引用额外的dll,请访问NBearLite支持的数据库。
步骤4 使用QueryColumnGenerator.exe工具生成强类型查询辅助类和存储过程访问包装类
运行QueryColumnsGenerator.exe工具(位于下载的zip包的dist目录)。
在该工具的主界面上的Connection String文本框内输入Server=(local);Database=Northwind;Uid=sa;Pwd=sa (请注意修改其中访问您本地SQL Server数据库的帐号密码),在Root Class Name文本框内输入Northwind。
点击Connect按钮,左边的列表会显示所有的表和视图。
点击左上角的CheckBox,选中所有的表和视图。
选择输出语言为C#。
点击Generate Code按钮,您将看到output文本区域显示了生成的C#代码。
点击Save Output As按钮,将生成的代码保存到你的Website工程的App_Code目录中,文件名为Northwind.cs。
步骤5 检查生成的代码
在Website工程中,刷新项目文件,您将看到App_Code目录中的 Northwind.cs文件。
编译Website,如果编译成功,没有任何错误或警告,则代表生成的代码和之前对NBearLite.dll的引用都正确。
步骤6 实例化Database对象实例
打开Default.aspx.cs文件,在文件顶部添加两个using如下:
using NBearLite; //这个是NBearLite的命名空间
using QueryColumns; //这是生成的查询辅助类的命名空间,如果您希望使用别的命名空间,可以在步骤4的工具界面修改Output Namespace文本框的内容,指定您要的命名空间。
在Page_Load事件方法处理中添加如下代码,实例化Database对象:
Database db = new Database("Northwind");
步骤7 使用Database类进行查询
在Page_Load事件处理方法中继续添加如下代码(这里只是简单的读取数据,更多复杂查询语法,请参见NBearLite查询):
GridView1.DataSource = db.Select(Northwind.Categories).ToDataSet().Tables[0]; //读取所有的Categories
int ret = -1;
string outStr = "1";
GridView2.DataSource = Northwind.SalesByCategoryTest(db, out ret, "test1", "1997", ref outStr); //调用存储过程
结束
至此,您应该已经学会了使用NBearLite进行数据库查询的基本过程。
篇后语
这只是一个演示,所以,所有的岩石代码都放在 Default.aspx.cs文件里了。实际的开发过程中,我们应避免频繁实例化Database对象。一般,我们可以在App_Code目录中定义一个Class,该类中定义static的Database实例属性,再通过这个static实例来进行查询。这样在所有页面和Website的代码文件中都可以共享这个实例。
如果您希望查看或记录运行时NBearLite的强类型语法背后生成的实际的SQL内容,请访问查看运行时的SQL日志。
如果您想访问的是Oracle数据库,请注意NBearLite对Oracle数据表的字增长字段的支持有一些特别的约定,请访问关于Oracle返回最近插入的自增长字段值。
恭喜您完成本教程!