有人可以发布企业应用程序数据块的“工作”示例来调用SP。
我找到的所有示例代码都以
开头 // Create DataBase Instance
Database db = DatabaseFactory.CreateDatabase();
但我的代码抛出了一个未设置为实例的对象引用....
答案 0 :(得分:2)
您是否正确设置了应用程序配置?
以下是通过Enterprise Library Data Access Block调用存储过程的快速示例:
using System;
using System.Data;
using Microsoft.Practices.EnterpriseLibrary.Data;
namespace MyTest
{
internal class Program
{
private static void Main(string[] args)
{
var database = DatabaseFactory.CreateDatabase();
var command = database.GetStoredProcCommand("SomeSP");
using (IDataReader reader = database.ExecuteReader(command))
{
while (reader.Read())
{
Console.WriteLine("X: {0} Y: {1} Z: {2}",
reader["SomeField"],
reader["AnothterField"],
reader["Enabled"]);
}
}
Console.ReadLine();
}
}
}
以及相应的app.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</configSections>
<connectionStrings>
<add
name="DB"
providerName="System.Data.SqlClient"
connectionString="server=(local)\SQLEXPRESS;database=YourDB;Integrated Security=true" />
</connectionStrings>
<dataConfiguration defaultDatabase="DB"/>
</configuration>
当我没有将defaultDatabase设置为相应的连接字符串时,我遇到了这个问题。