【问题标题】:How to connect to SQL Server CE using ADO.NET如何使用 ADO.NET 连接到 SQL Server CE
【发布时间】:2013-01-11 09:03:41
【问题描述】:

我有一个从ADO.NET 创建的EntityModel,它连接到我的数据库。我想填写DataGridview。为此,我遵循以下代码:

using System.Data;
using System.Data.SqlServerCe;
using System.Windows.Forms;

namespace WindowsFormsApplication5
{
public partial class Form1 : Form
{
public Form1()
{
    InitializeComponent();
    FillData();
}

void FillData()
{
    // 1
    // Open connection
    using (SqlCeConnection c = new SqlCeConnection(
    Properties.Settings.Default.DataConnectionString))
    {
    c.Open();
    // 2
    // Create new DataAdapter
    using (SqlCeDataAdapter a = new SqlCeDataAdapter(
        "SELECT * FROM Animals", c))
    {
        // 3
        // Use DataAdapter to fill DataTable
        DataTable t = new DataTable();
        a.Fill(t);
        // 4
        // Render data onto the screen
        dataGridView1.DataSource = t;
    }
    }
}
}

此代码来自网页,因此我正在尝试使其适应我的ADO.NET 模型。所以,由于我不确定Properties.Settings.Default.DataConnectionString来自哪里,我认为它是用于连接我的数据库的连接字符串,所以,按照我的Entity Model,我写了这个来获取连接字符串:

SqlCeConnection c = new SqlCeConnection(db.Connection.ConnectionString);

其中 db 是我的Entity Model,这样创建的:

private dbEntities db = new dbEntities();

但是这个db.Connection.ConnectionString返回这个:"name= dbEntities",所以我把它改成了db.Connection.DataSource,返回这个字符串:

"C:\\Users\\user\\Documents\\Visual Studio 2010\\Projects\\ProjectName\\MySQLProject\\bin\\Debug\\db.sdf" string

但它说字符串格式没有调整(显然......)。我正在使用 SQL Server,但我不确定如何获得该连接:(

Properties.Settings.Default.DataConnectionString 是这样说的:

        Properties.Settings.Default.dbConnectionString  'System.Windows.Forms.PropertyStore' 

不包含“设置”的定义,并且找不到接受“System.Windows.Forms.PropertyStore”类型的第一个参数的扩展方法“设置”(您是否缺少 using 指令或程序集引用?)

【问题讨论】:

  • 您使用的不是 SQL Server 完整版,而是精简版;我已重新标记您的问题以反映这一点。

标签: c# .net sql ado.net sql-server-ce


【解决方案1】:

该消息并不意味着连接字符串格式错误!是说你的项目中没有设置。

您确定创建了相应的设置吗?要编辑它们,请双击项目中的“属性”条目,然后切换到“设置”选项卡。如果没有条目dbConnectionString,则创建一个。

【讨论】:

  • 实际上我的“设置”选项卡上有该属性。它就是这样说的:Data Source=|DataDirectory|\db.sdf
  • 嗯,消息说Settings 不可用。这与内容不正确无关。
  • 好的,我可以解决这个问题。你是对的。它没有指向正确的命名空间,所以我之前添加了我的项目命名空间,它找到了它:)
  • 实际上它应该自动工作。你操纵了命名空间吗?
  • 好的,谢谢。现在我有一个不同的错误,所以我要尝试解决它。如果我不能,我会打开一个新线程,因为它与这个不同。谢谢!!
猜你喜欢
  • 1970-01-01
  • 2013-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多