C#: 将DataGridView绑定到应用程序目录中的数据库文件上
i当前在" C:\ temp"中的dataGridView绑定到SQLITE数据库.我使用VS2008 GUI绑定它.我希望它可以在运行的任何目录中绑定到数据库.我可以看到该路径已被硬编码到" C:\ temp \ myApp.db",但是如果我在生成的代码中更改它,当我重新编译时,我认为它会被覆盖吗? 如何设置它,以便DataGridView连接到应用程序中的任何目录中的SQLite DB文件? 我是Winforms编程的新手,因此将不胜感激. 更新 我想我知道如何获得CWD(见下文);问题是在DB访问代码vs. string cwd = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location); 也许无法完成? 也许我需要写一个我打算做的dal-如果有一个,现在只想一个快速解决方案. 解决方案 将应用程序的启动路径与预期的文
4 2024-04-26
编程技术问答社区
Azure移动应用程序在Sqlite数据库中保存的日期时间不正确
我试图在Xamarin forms Application中的AzureMobileServicesClite Sqlite数据库中保存具有ID和DateTimeOffset的实体. 只要时间戳记不明确,就可以使用此功能.当我们从日光节省到标准时间时,有一段时间,根据时区的不同,时间戳可能是模棱两可的. 2016年在丹麦,10月30日是2:00-3:00. 我将实体dateTimeOffset保存为UTC,但将其保存为本地时间戳. 当我保存一个模棱两可的时间戳记为2016-10-30 12:30 AM + 0:00时,它会返回2016-10-30 11:30 11:30 AM +0:00. 我已经在其他时区进行了测试,只有在从日光节省到该特定时区的标准时间的歧义时间时才发生. 我已经在这里看到了正常SQLite数据库的问题: http://www.thomaslevesque.com/2015/06/28/how-to-to-to-to-to-regriev-da
10 2024-04-26
编程技术问答社区
在Windows 8 Metro |应用程序中打开外部SQLite |数据库?
我使用"用于Windows Runtime的SQLITE"和SQLITE-NET(如var dbPath = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "db.sqlite"); using (var db = new SQLite.SQLiteConnection(dbPath)) { ... } 但是当我想使用这样的外部路径时: var dbPath = "C:\\Users\\xxxxxx\\db.sqlite"; 然后在"无法打开数据库文件"的情况下发生错误.为什么?在这里,我正在使用C#,通常我使用C ++,但是对于这个问题,我敢肯定这没关系;) 解决方案 您无法在文件系统上选择任意文件.请参阅在这里有关详细信息 默认情况下您可以访问以下位置: 应用程序安装目录 应用程序数据位置 用户的下载文件夹 和 此外,您的应用程序可以访问连接
8 2024-04-26
编程技术问答社区
App.config导致 "无法找到元素'supportRuntime'的模式信息"。
我尝试使用sqlite dll,一切都很好.我对sqlite.dll有一个小问题 所以我在本网站中找到了创建app.config的解决方案,并带有此类信息 所以,解决方案工作.我可以正确使用sqlite,但是编译器总是显示这样的消息 有什么建议? 解决方案 选择app.config属性的模式为DotNetConfig35.xsd 打开app.config文件,右键单击它然后转到属性,您可以在那里看到架构属性. 其他解决方案 我也遇到了这个问题,并尝试了一些我在网上找到的想法,例如从app.config等创建架构,但没有完全解决我的问题,因为我的程序一直使用dotnetconfig.xsd而不是新应用程序. .xsd我刚刚创建.即使我告诉它使用a
2 2024-04-26
编程技术问答社区
创建地理围栏,同时将位置存储到sqlite数据库中
我正在开发Windows Mobile应用程序.我想在将位置存储到SQLITE数据库时创建地理林以生成SMS警报,以生成SMS警报.我将位置通过地图加载到文本框. 这是到目前为止的代码 private void Load_Location(object sender, RoutedEventArgs e) { LattxtBx.Text = String.Format("{0}", AddLocation.Center.Position.Latitude); LongtxtBx.Text = String.Format("{0}", AddLocation.Center.Position.Longitude); } private async void AddContact_Click(object sender, RoutedEventArgs e) { DatabaseHelperClass Db_Helper = new DatabaseHel
8 2024-04-26
编程技术问答社区
MvvmCross SQLite插件对UWP项目不起作用
我尝试运行UWP项目时会遇到以下错误: mvvmcross.platform.exceptions.mvxiocresolvesception:'失败 解决类型参数工厂的参数 创建时IMVXSQLiteConnectionFactory bundbuddy.core.repositories.accountrepository' 我的Android项目没有问题.以下是我的存储库类. public class AccountRepository : IAccountRepository { private readonly SQLiteConnection _connection; public AccountRepository(IMvxSqliteConnectionFactory factory) { _connection = factory.GetConnection("Account.db"); _c
10 2024-04-26
编程技术问答社区
Linq查询返回相同的名字,尽管它们应该是不同的。
我是EF6的新手,我已经设置了Chinook数据库,并在.NET Framework上与Sqllite .NET提供商一起工作4.0. 当我执行以下查询时,它会毫无问题地执行,但曲目名称都是相同的.它们应该不同,因为它们具有不同的轨道ID,我查找了这些轨道ID,并且具有不同的名称. var result = context.Playlists.Include(p => p.Tracks) .Where(p => p.Name == "Brazilian Music") .SelectMany(p => p.Tracks); foreach(var p in result) { Console.WriteLine(p.Playlist.Name + ", " + p.TrackId + ", " + p.Track.Name); } 感谢任何帮助. 这是我结果的输出: 控制台输出: 解决
4 2024-04-26
编程技术问答社区
无法加载SQLite.Interop.dll
i创建了成功构建和发布的C#应用​​程序(该应用程序正在使用本地SQLITE数据库). 方案1(起作用).我将Release文件夹复制到客户端的计算机中,并且当我从文件夹中运行.exe文件时,该应用程序正常工作. 只是提到,我还复制了sqlite数据库文件以及Release文件夹,并在配置文件中设置了DB文件的新路径. 方案2(这不起作用)当我发布了该应用程序后无法运行的应用程序时,由于此错误完成了设置过程后无法运行它:"无法加载sqlite.interop.dll". 我还试图像在"方案1"中那样设置配置文件中DB文件的新路径.在设置过程完成后是否需要这? 我的释放文件夹在每个文件夹中都有两个子文件夹 -x64和x86,其中每个文件中的每个文件夹中的每个文件夹.但是我在应用程序文件中没有看到这些文件夹中的这些文件夹.我尝试将这些文件夹从Release文件夹复制到手动发布文件夹,但尚未解决我的问题. 有人可以解决这个问题,并向我解释如何强制视觉工作室将sqlite
18 2024-04-26
编程技术问答社区
你能在你的exe文件中捆绑SQLite吗?
我对编程相对较新,并且正在制作一个很小的应用程序,这基本上是特定游戏的计算器.因此,我希望用户能够更改与游戏相关的某些值以及在应用程序执行之间持续存在的更改,即要保存,但我不想使用超过1个文件(EXE). 我知道sqlite和ilmerge,但不确定是否可以这样做,以便EXE文件本身包含一个小数据库,以便用户可以更改并保存该EXE中的值.我尝试搜索它,但不知道要使用什么术语,所以我没有运气. 解决方案 它不像您认为的那么复杂 您可以使用Nuget或自己下载. 使用nuget然后搜索" system.data.sqlite",然后安装它. 这将添加您需要的参考文献. 基本上就是这样!当您构建/编译时,您将在输出目录中包含您所需的所有内容(其中包括DLL).无需使用您的应用程序嵌入任何其他.EXE或其他任何内容(当然,您的数据库除外!) 本文显示SQLITE的入门: https ://www.codeproject.com/articles/22165/
10 2024-04-26
编程技术问答社区
sqlite查询不匹配字符串
我有一个我存储在sqlite表中的大约350个音乐文件的列表.如果添加新文件,它们将添加到数据库中.因此,我有一个查询来检查文件的路径是否在表中,如果不在表中,则插入.但是,即使查询在表格中,也永远不匹配查询!因此,每次我启动我的应用程序都会不断添加它们. 我正在使用SQLITE用于通用Windows平台和SQLITE.NET-PCL软件包用于SQL内容.文件是我的自定义类,可存储每个文件中的一些字符串和其他文件属性. //database creation on first app launch using (var db = DbConnection) { var Trackdb = db.CreateTable(); } //where I scan all files and add to db if not already there var dbconn = DbConnection; foreach (File fil
12 2024-04-26
编程技术问答社区
保存数据后,Inventry表格没有自我更新 C# Winform
我想包括屏幕截图,但堆栈溢出不让我这样做.像以下代码 private void cname_txt_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { SQLiteConnection sqliteCon = new SQLiteConnection(dbConnectionString); // open connection to database try { sqliteCon.Open(); string Query = "select * from OwnerDetails where Name='" + cname_txt.Text + "' ";
6 2024-04-26
编程技术问答社区
如何将List的内容添加到SQLite数据库中?
我已经在数据库中创建了一个SQLiteConnection,在该数据库中,我有一个表: var conn = new SqliteConnection("Data Source=" + db); // Set the structure of the database if (!exists) { var commands = new[] { "CREATE TABLE Phrases (Id INTEGER PRIMARY KEY AUTOINCREMENT, Keyword TEXT, Translation1 TEXT, Translation2 TEXT)" }; conn.Open(); conn.Open(); foreach (var cmd in commands)
0 2024-04-26
编程技术问答社区
怎样才能防止一个异步方法垄断另一个方法?
在我的UWP应用程序中,我有一个异步方法(事件处理程序),该方法调用了另一种async方法,该方法试图将记录插入数据库中. 我在插入尝试中遇到了例外,并且正在尝试夏洛克为什么会发生这种情况.因此,我在第一个"使用"行上放置了insertmaprecord()方法中的断点: using (SqliteConnection conn = new SqliteConnection(connStr)) 当我到达该断点时,我击中了F10,但是它没有将我带到插入方法中的下一行,而是将我带到BTNCRE8NEWMAP_CLICK()中的这一行,而是事件处理程序(您已经被击中了,您会击中想一想,要达到上一行): InsertMapRecord(mapName, mapNotes, defaultZoomLevel); i然后击中F11,以尝试返回insertmaprecord()方法,但是我最终在app.g.i.cs上,在此行: #if DEBUG && !DISABLE
4 2024-04-26
编程技术问答社区
从一个sql server数据库转移到一个不需要客户安装服务器的数据库(C#实体框架)
我将尽力保持其简短,并尽我所能. 问题 我正在尝试将SQLite数据库与实体框架一起使用.我正在使用.NET 4.5和Visual Studio2013. 我已经安装了适当的sqlite nuget软件包,并且我在网上遵循了很多教程来完成此操作,但是 Visual Studio不在乎.. 无论我做什么,我都无法连接到我的sqlite数据库. 我制作了一个包含数据库文件的应用程序.我希望能够将其分配为不需要其他安装(SQL Server等)的独立应用程序. . 我尝试过的 就像我说的那样,我一直在试图让Sqlite整夜与Visual Studio一起玩,但是我没有运气. 我一直在寻找其他数据库类型,但是我似乎找不到任何不需要其他安装的东西,并且可以使用实体框架. 我已经看到人们建议使用Microsoft Access数据库文件,但是我也没有运气与EF一起使用. 我的问题 有人知道为什么Visual Studio不给我连接到SQ
4 2024-04-26
编程技术问答社区
使用SqliteNet时获得异常
尝试使用sqlitenet进行任何操作时,我会遇到错误.我有例外: near ")": syntax error at SQLite.SQLite3.Prepare2 (IntPtr db, System.String query) [0x00029] in /Users/ultradev/Projects/URM Mobile/UltraRoute/Database/SQLite.cs:3025 at SQLite.SQLiteCommand.Prepare () [0x00012] in /Users/ultradev/Projects/URM Mobile/UltraRoute/Database/SQLite.cs:2190 at SQLite.SQLiteCommand.ExecuteNonQuery () [0x00026] in /Users/ultradev/Projects/URM Mobile/UltraRoute/Database/SQLite.
8 2024-04-26
编程技术问答社区
sqlite数据库被锁定的异常
我正在使用C#应用程序,并在服务器计算机中运行应用程序. database is locked at System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt) at System.Data.SQLite.SQLiteDataReader.NextResult() at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave) at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior) at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery() at System.Data.SQLite.SQLiteTransaction.Commit() 以下是我的
6 2024-04-26
编程技术问答社区
插入时间太长,需要优化代码
我已经使用一些代码将table1值传输到另一个table2,它们坐在不同的数据库中. 当我有100.000张记录时,这很慢.它需要永远完成10分钟以上. (Windows Mobile智能手机) 我该怎么办? cmd.CommandText = "insert into " + TableName + " select * from sync2." + TableName+""; cmd.ExecuteNonQuery(); 编辑 问题无法解决.我仍在追求答案. 解决方案 1]您可以在ConnectionsTring中设置以下参数 string connectionString = @"Data Source=E:\myDB.db3; New=true; Version=3; PRAGMA cache_size=20000; PRAGMA page_size=32768; PRAGMA synchronous=off"; 有自己的局
6 2024-04-26
编程技术问答社区
Sqlite DB查询需要很长的时间 WP8
我使用此链接作为参考,使用sqlite.net构建Windows Phone 8应用程序: - /p> 项目中有一个数据库,该数据库正在隔离存储中.该数据库仅包含一个几乎具有26K条目的表. 我试图在我的mainpage.xaml.cs中连接到该数据库,如下所示: - protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { base.OnNavigatedTo(e); using (SQLiteConnection db = new SQLiteConnection(App._dbPath)) { db.GetTableInfo("IWMCemeteries"); try { List cemeteriesList = db
12 2024-04-26
编程技术问答社区