Tag: ado.net

C#和PostgreSQL

任何人都可以向我展示使用从PLSQL返回的游标到c#代码的工作示例吗? 我发现很多例子展示了如何用返回的数据填充dataSet,但我找不到如何将该游标与DataReader一起使用,因此我有{unnamed portal}。 NpgsqlTransaction tr = (NpgsqlTransaction) Connection.BeginTransaction(); NpgsqlCommand cursCmd = new NpgsqlCommand(“someStoredProcedure(:inRadius)”, (NpgsqlConnection) Connection); cursCmd.Transaction = tr; NpgsqlParameter rf = new NpgsqlParameter(“ref”, NpgsqlTypes.NpgsqlDbType.Refcursor); rf.Direction = ParameterDirection.InputOutput; cursCmd.Parameters.Add(rf); 我必须写这里使用NpgsqlDataReader myReader; 正确。 tr.Commit(); 当我在sql命令之后写’fetch’时它可以工作,但它不合适。 thnx提前

从文本文件导入到SQL Server数据库,是ADO.NET太慢了吗?

我的程序现在仍在运行,以将数据从日志文件导入远程SQL Server数据库。 日志文件大小约为80MB,包含大约470000行,包含大约25000行数据。 我的程序只能导入300行/秒,这真的很糟糕。 🙁 public static int ImportData(string strPath) { //NameValueCollection collection = ConfigurationManager.AppSettings; using (TextReader sr = new StreamReader(strPath)) { sr.ReadLine(); //ignore three first lines of log file sr.ReadLine(); sr.ReadLine(); string strLine; var cn = new SqlConnection(ConnectionString); cn.Open(); while ((strLine = sr.ReadLine()) != null) { { if (strLine.Trim() != “”) //if not a […]

使用相同的MS Acess文件在另一个应用程序中连接MS Access

我有一个窗口应用程序,它尝试连接MS Access文件,该文件已被其他应用程序使用。 当我停止该应用程序,然后我能够连接MS Access文件。 否则会发生如下错误: 用于链接服务器“AccessDb”的OLE DB提供程序“Microsoft.Jet.OLEDB.4.0”返回消息“无法启动您的应用程序。 工作组信息文件丢失或由其他用户独占打开。 有没有办法可以在只读模式下打开连接。 我必须从该文件中读取数据。 谢谢。

将COMPLEX存储过程转换为C#和ADO.Net

这不是SP是好还是坏的问题。 或者在C#中编写SQL语句是好还是坏。 我们很快就开始研究一个典型的库存/计费管理系统的新项目。 这将使用.Net和C#作为语言开发。 数据库尚未最终确定。 在此应用程序中不允许使用存储过程,它将具有中到复杂的数据库操作。 因此,我可以轻松地使用SP编写的逻辑,现在我将不得不使用C#和ADO.Net编写。 现在采取一个非常假的使用案例,客户选择了5项并准备好在柜台生成账单…. 这通常会有以下数据库操作: 检查INVENTORY表以查看是否所有5个订单项都可用(数量足够)。 如果任何项目不可用 – 从账单中删除该项目并更新BILL表 将更新INVENTORY表的数量字段,并将使用已售出的项目扣除数量字段。 警报/更新其他表是项目的阈值数量低于某一点。 现在看一下这个场景,这可以在SP中轻松完成。 这包含很多查询,IF条件,可能的循环等,看起来像SP的一个很好的竞争者。 我想从专家那里得到的是: 是否有在C#和ADO.Net中编写此类代码的最佳实践。 在C#中,我们通常可以使用ADO.Net重新创建相同的代码。 但这是唯一的方式还是正确的方式? 我看过很多人说存储过程很糟糕…… 但是在考虑像这样的复杂场景时……你不觉得存储过程在这种情况下更适合。

从DataTable写入时如何指定XML输出的格式?

在C#中,我使用dataTable.WriteXml(filePath)从DataTable创建XML文件,并获得以下内容: blah 4ed397bf-a4d5-4ace-9d44-8c1a5cdb0f34 如何让它以下列格式编写XML?:

无法从pocketpc打开与SQL Server 2005的连接(Windows Mobile 6)

我正在尝试从掌上电脑应用程序(Windows Mobile 6)连接到SQL Server 2005,但无论我怎么努力,它都无法正常工作。 我检查了在SQL Server上启用tcp的每个可能的配置,我测试了很多连接字符串,但是当我尝试打开连接时仍然有问题,我确定这不是网络问题因为我可以从我的Pocket PC上ping没有任何问题的服务器机器和我的服务器机器上的防火墙被禁用:这是我使用的连接字符串之一: Data Source=10.168.0.160,1433;Initial Catalog=pos;Trusted_connection=yes;user id=myuserid;password=mypassword 其中pos是我的数据库的名称 谢谢您的帮助

返回LINQ时的c#异步

我刚刚意识到这段代码: public async Task<List> GetTitleReviews(int titleID) { using (var context = new exampleEntities()) { return await context.Reviews.Where(x => x.Title_Id == titleID).ToList(); } } …将无法工作,因为异步方法无法等待LINQ表达式。 我做了一些搜索,但只找到了一些过于复杂的解决方案。 如何将返回LINQ表达式的函数转换为异步版本?

如何在ADO.NET Entity Framework上“选择count(*)”

如何使用ADO.NET Entity Framework执行“select count(*)” ? 谢谢!

Ado.Net实体:对象不显示链接成员(外键)

我有一个简单的数据库方案:用户,帐户。 用户与帐户有1对多的关系。 我已经生成了一个ado.net实体数据模型,我可以创建用户和帐户,甚至可以将它们链接在一起。 在数据库中正确填充了account.user_id,因此理论上我应该能够通过实体访问C#中的User.Account.ToList()。 但是,当我尝试访问User.Account.ToList()时,我得到零结果。 User user = db.User.First(U => U.id == 1); List accounts = user.Account.ToList(); ##count = 0… 当我在前面的代码之前添加以下代码时,它突然给了我正确的计数2。 Account account1 = db.Account.First(A => A.id == 1); Account account2 = db.Account.First(A => A.id == 2); User user = db.User.First(U => U.id == 1); List accounts = user.Account.ToList(); ##count = 2…?? 我在这里想念的是什么?

为什么Datareader无法初始化?

我们在classname之前使用abstract关键字来限制创建类的实例。 但是datareader不是一个抽象类,但是我们不能创建它的实例。你可以解释为什么吗? 我搜索了它然后我发现它没有构造函数,这就是为什么我们不能创建对象,但据我所知,如果没有构造函数,那么编译器自动创建一个默认的构造函数。 请帮忙…