Tag: 数据库

如何使用sqlite创建asp.net Web应用程序

我想在asp.net中使用sqlite开发小应用程序,实际上我不知道如何在应用程序中使用sqlite。 任何人都可以提供逐步过程的链接,以便在c#后面的asp.net代码中创建应用程序。

无法在.Net应用程序中使用/显示Oracle数据库中的特殊字符

我有一个C#.Net应用程序,它访问来自Oracle 10 db支持的商业应用程序的数据。 商业应用程序数据库中的几个字段(声明为varchar2(n))包含特殊字符。 例如,“智能报价”撇号。 商业客户端应用程序正确显示这些字符,但我的应用程序将它们显示为反向问号。 Oracle字符集是“WE8ISO8859P1”。 我的应用程序使用System.Data.OracleClient.OracleDataAdapter读取商业数据库,通过DataSet.Tables转换为表。 将表格转换为对象,并将相关字段存储为字符串。 如果我在从数据库中读取数据后立即检查(在调试器中)数据,并且特殊字符已经错误地显示。 我无法弄清楚如何将数据作为hex字节来检查,看看它到底有什么,我也不确定我应该寻找什么。 我还注意到Toad也将字符显示为倒置问号。 我们应用程序的一个方面是将这些记录写入我们自己的数据库中的单独表中; 当发生这种情况时,特殊字符会被修改,然后显示为方框而不是倒置的问号。 如果需要,我可以提供更多信息。 感谢您的帮助!

查询,Get 和Load 之间的NHibernate区别

我想找到在执行以下操作时使用这三种从数据库获取数据的方法的不同之处: public T GetById(int id) { using (var db = Database.Session) { using (var t = db.BeginTransaction()) { try { return db.Get(id); } catch (Exception) { if (!t.WasCommitted) { t.Rollback(); } throw; } } } } 要么 public T GetById(int id) { using (var db = Database.Session) { using (var t = db.BeginTransaction()) { try […]

测试数据库调用C#

首先,让我们在这里解决术语。 我搜索的所有内容都说:“unit testing不会触及数据库!” 我不想进行unit testing。 我想要一个测试,当我将数据发送到数据库时,我知道它正确地保存了它(以及测试其他crud操作)。 我有一个基本上接受DTO的存储库层,然后将该DTO映射到entity framework模型,然后将该模型保存到数据库。 我需要能够确保将DTO发送到这些方法实际上是保存到数据库中。 存储库上的示例方法签名是: public bool Save(SomeObjectDTO someObject) 我只需要测试此方法调用是否返回true。 设置测试的最佳方法是将调用的方法保存到数据库中? 此外,是否有标准的方法来设置空白测试数据库? 如果我点击“运行测试”它会构造一个空数据库,用必要的初始数据填充它,然后执行所有CRUD操作(我的所有存储库调用)以查看它们都像它们一样保存,那将是很棒的应该。 如果这已经得到了回答,我表示歉意,但是我搜索到的所有内容都有人说你不应该测试数据库调用,或者人们在谈论嘲笑这些在这里真的没用。 我只想要一个关于如何设置这些类型的测试的示例和/或标准实践。

将数据从XML文件导入SQL数据库

是否可以将数据从XML文件导入SQL数据库,如果可以,将如何完成。 我有一个包含大约5万个条目的XML文件,我必须创建一个可以操作该数据的应用程序(主要是读取和比较) – 所以我担心的是用这么多数据进行操作(并且很有可能将来会有更多的事情会变得非常缓慢和低效。 如果您认为其他选项会更好,请提供建议。 谢谢

在Enterprise Library中更改运行时的连接字符串

有没有办法在运行时更改Enterprise Library中的DataBase对象的连接字符串? 我找到了这个链接,但它有点过时(2005) 我也发现了这个,但它似乎一般适用于.Net,我想知道是否有一些东西可以专门为EntLib完成。 我只是将连接字符串名称传递给DatabaseFactory对象中的CreateDatabase()方法,直到昨天我的项目经理要求我支持多个数据库实例。 碰巧我们必须为每个状态设置一个数据库(一个用于CA,一个用于FL等),因此我的软件需要遍历所有数据库并对数据执行某些操作,但它将使用相同的配置文件。 提前致谢。

如何检查DB的存在?

我想知道是否有一种优雅的方式来检查数据库是否存在? 简而言之,如何测试db连接字符串的连接? 谢谢

sqlite抛出“字符串未被识别为有效的日期时间”

我正在玩Sqlite并在尝试回读一些测试数据时不断收到错误。 例如,我创建了一个带有单个表和一些列的简单数据库,并使用一些测试数据填充它,如下所示。 sqlite> .schema CREATE TABLE “shows”(id integer primary key asc autoincrement, showName TEXT, guest TEXT, dateAired date, dateWatched date); sqlite> select * from shows; 6|test show|test guest 1|2012.05.01|2012.07.10 7|test show|test guest 2|2012.05.02|2012.07.10 8|test show|test guest 4|2012.05.04|2012.07.10 我正在使用此处提供的System.Data.Sqlite库,但它在尝试读取日期列时不断给出错误。 我尝试将日期设置为dd-MM-yyyy格式,但仍然会收到错误消息“字符串未被识别为有效的日期时间”。 我已经尝试使用DateTime.Parse或将其转换为datetime或只是ToString()来查看发生了什么,但我一直得到同样的错误。 我可以很好地阅读文本字段,但无法读取日期字段。 我的C#代码剪断如下 var sqliteConn = new SQLiteConnection(“Data Source=data/shows.db;Version=3;New=False;Compress=True”); sqliteConn.Open(); SQLiteCommand cmd = new SQLiteCommand(sqliteConn); cmd.CommandText […]

在Visual Studio中调试C#时,是否可以提交对实际数据库的更改?

我正在使用使用SQLExpress数据库的Visual Studio创建一个C#应用程序。 当我点击f5来调试应用程序并对数据库进行更改时,我相信正在发生的事情是bin / debug文件夹中有一个数据库的副本正在进行更改。 但是,当我停止调试然后在下一次将数据库的新副本放入bin / debug文件夹时点击f5,以便上次所做的所有更改都消失了。 我的问题是: 有没有办法,当我调试应用程序时,我可以让它对实际数据库进行更改,这些更改实际上已保存,或者它只会更改bin / debug文件夹中的副本(如果这是实际发生的事情) )? 我已经看到了类似的问题,但我找不到一个答案,说明是否可以在实际的.mdf文件中使这些更改持久化。 我问的原因是因为当我构建这个应用程序时,我不断添加部分和测试以确保它们一起工作。 当我输入测试数据时,我使用的是我希望保留在数据库中的实际数据。 这只会帮助我以后不必重新输入数据。 提前感谢任何可以帮助我更好地理解该过程的帮助或信息。

您建议将哪个数据库与C#(.NET)应用程序一起使用?

我正在制定一个小项目计划,当我需要决定使用哪个本地数据库系统时,我找到了一个点。 输入数据将存储在webserver(托管 – MySQL DB)上。 我们的想法是构建一个过程来下载所有必要的数据(例如在午夜)并处理它们。 但是,会有很多输入和处理阶段,所以我需要使用某种本地数据库来存储应用程序的半成品 您建议使用哪种本地数据库系统来使用C#(.NET)应用程序? 编辑:最终产品(信息)应该很容易导出回Hosting MySQL DB。 正如威尔在他的回答中提到的 – 是的,我是为了表现和使用舒适。