通過創建檔案的程式 (DB_Write),我可以輕松訪問和查詢資料。我想看看我是否可以從另一個簡單的 C# 程式 (DB_Read) 讀取檔案并操作資料。DB_Read 能夠使用 connectionString 找到資料庫并成功打開連接,但我的陳述句“var DatabaseExists = context.data.Any(); 每次都失敗。我花了幾天時間在網上搜索一些線索但沒有成功,這讓我覺得我忽略了一些非常簡單和明顯的東西。DB_Read 由我直接從 DB_Write 剪切和粘貼的部分組成(資料庫類、資料庫背景關系和列名)。我在下面包含了完整的程式。什么是我想念這里?
...
using System;
using System.Data;
using System.Linq;
using System.Windows.Forms;
using System.Data.Entity;
using System.ComponentModel.DataAnnotations;
using System.Data.SqlClient;
namespace DB_Read
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public class TestDB
{
[Key]public int Index { get; set; }
public string Letter { get; set; }
public Double WTime { get; set; }
}
public class TestDB_Context : DbContext
{
public DbSet<TestDB> data { get; set; }
}
private void btnSum_Click(object sender, EventArgs e)
{
string connectionString;
SqlConnection cnn;
connectionString = @"Data Source=(localdb)\mssqllocaldb;
Initial Catalog=DB_Write.Form1 TestDB_Context;
Integrated Security=True";
cnn = new SqlConnection(connectionString);
cnn.Open();
using (var context = new TestDB_Context())
{
var DatabaseExists = context.data.Any();
if(DatabaseExists == true)
{
var query = (from column3 in context.data
select column3.WTime).Sum();
txtResult.Text = Convert.ToString(query);
}
}
cnn.Close();
}
}
}
...
uj5u.com熱心網友回復:
你的SqlConnection
(cnn) 什么也沒做。它沒有被任何東西使用。
你應該有類似的東西
public class TestDB_Context : DbContext
{
public TestDB_Context(string connectionString) : base(connectionString)
{}
public DbSet<TestDB> data { get; set; }
}
接著
private void btnSum_Click(object sender, EventArgs e)
{
string connectionString = @"Data Source=(localdb)\mssqllocaldb;
Initial Catalog=DB_Write.Form1 TestDB_Context;
Integrated Security=True";
using (var context = new TestDB_Context(connectionString))
...
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/497418.html