[英]Writing data from C# to a MDF database
我有一段 C# 代码,它侦听鼠标向上事件,然后将数据写入数据库。 我在应用程序中的 Visual Studio 中本地创建了一个.MDF
数据库文件。 我为此使用以下代码。
问题是当我安装应用程序后在 SQL Server Management Studio 中打开.MDF
数据库文件时,我看不到任何数据行。 我可以看到我创建的列但没有数据。 Visual Studio 中服务器资源管理器中的“服务器”似乎是我的笔记本电脑编号:
private void MouseUpEvent(object sender, KeyEventArgs e)
{
MousePressed = e.KeyCode.ToString();
int Counting = MousePressed.Split('/').Length - 1;
long TimePressed = _MousePressed_Length;
String DateToday = SQLDate;
String TimeToday = SQLTime;
float TimeNow = SQLTimeExactmilliseconds;
var guid = Guid.NewGuid().ToString();
var guid2 = guid + TimeNow;
string sqlCon = @"Data Source=.\SQLEXPRESS;" +
@"AttachDbFilename=|DataDirectory|\Database1.mdf;
Integrated Security=True;
Connect Timeout=30;
User Instance=True";
using (var db = new SqlConnection(sqlCon))
{
db.Open();
var command = new SqlCommand("INSERT INTO Database1 (Table) VALUES (@Date);", db);
command.Parameters.AddWithValue("@Date", DateToday);
var command2 = new SqlCommand("INSERT INTO Database1 (Table) VALUES (@Time);", db);
command2.Parameters.AddWithValue("@Time", TimeToday);
var command3 = new SqlCommand("INSERT INTO Database1 (Table) VALUES (@Mousepress);", db);
command3.Parameters.AddWithValue("@Mousepress", TimePressed);
var command5 = new SqlCommand("INSERT INTO Database1 (Table) VALUES (@TimeExact);", db);
command5.Parameters.AddWithValue("@TimeExact", TimeNow);
var command6 = new SqlCommand("INSERT INTO Database1 (Table) VALUES (@Id);", db);
command6.Parameters.AddWithValue("@Id", guid2);
command.ExecuteNonQuery();
command2.ExecuteNonQuery();
command3.ExecuteNonQuery();
command5.ExecuteNonQuery();
command6.ExecuteNonQuery();
db.Close();
}
}
当我尝试在服务器资源管理器中打开.MDF
数据库文件时,我从 Visual Studio 收到此消息:
数据库 'C:\\Program Files (x86)\\muhammadADIbrahim@outlook.com\\Setup_Attention_Assist\\Database1.mdf' 已经存在。 选择不同的数据库名称。
尝试为文件 C:\\Users\\muham\\OneDrive\\Desktop\\Attention_Residue\\BAAB UL WORK\\NIZAM\\CURRENT SOFTWARE\\NizamSolutionBackup2.6\\Nizam.Monitor\\Database1.mdf 附加自动命名的数据库失败。 存在同名数据库,或无法打开指定文件,或位于 UNC 共享上。
代码编译并正常工作,所以我猜这只是与数据库的连接有关。
应该发生的情况是,当用户在本地安装应用程序并将数据写入数据库时, .mdf
数据与 .msi 文件一起安装。 对于任何用户,我应该能够获取本地.mdf
文件并在 SQL Server Management Studio 中打开它并查看结果。
谢谢,易卜拉欣
mdf数据库的问题是需要安装SQLSever。
mySql 的问题是类似的。 SQLLite 似乎也不适合我。
我最终为此创建了一个 .txt 文件,现在似乎工作正常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.