如何使用ADO.NET连接到SQL Server CE

时间:2013-01-11 09:03:42

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

我从EntityModel创建了一个连接到我的数据库的ADO.NET。我想填一个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' 

不包含'Settings'的定义,并且没有扩展方法'Settings'可以找到接受类型'System.Windows.Forms.PropertyStore'的第一个参数(你是否缺少using指令或汇编引用?)

1 个答案:

答案 0 :(得分:1)

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

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