标签: sql-server-ce

如何从DataSet中选择哪些列进入DataTable?

对于使用Data的新手,我希望我能正确地问这个问题.如何从DataSet中选择哪些列进入DataTable?我知道我可以通过使用填充DataTable ...

DataTable table = dataSet1.Tables[0];
Run Code Online (Sandbox Code Playgroud)

但这会带来所有列.如何仅使用特定列填充DataTable?

我正在使用.NET 3.5,C#和SQL CE 3.5单表数据库.

谢谢.

c# sql database sql-server-ce

0
推荐指数
1
解决办法
1616
查看次数

Sql Compact版 - 简单的select语句不起作用

我有这个非常简单的麻烦,我似乎无法克服.

我正在尝试使用sql ce执行此代码行:

SqlCeCommand comSelect = new SqlCeCommand("SELECT * FROM Items WHERE barcode = '@barcode'", conn);
comSelect.Parameters.Add(new SqlCeParameter("barcode", System.Data.SqlDbType.NVarChar, 100)).Value = barC;
Run Code Online (Sandbox Code Playgroud)

出于一些奇怪的原因 - 它总是以空的形式返回 - 即没有找到结果.如果我将参数值单独放在查询字符串中,如下所示:

SELECT * FROM Items WHERE barcode = '123ABC'
Run Code Online (Sandbox Code Playgroud)

然后它完美无缺.我将添加列是一个NVarChar.

知道为什么这不起作用的任何想法?

c# sql-server-ce

0
推荐指数
1
解决办法
1793
查看次数

SQL Server Compact连接错误

我刚刚完成了Visual C#2008 SP1的全新安装,在此过程中还安装了Sql Compact 3.5 SP1.不过,当我尝试连接到sdf文件时:

SqlCeConnection conn = new SqlCeConnection(connectionString);
Run Code Online (Sandbox Code Playgroud)

我得到一个例外:

无法加载与版本8080的ADO.NET提供程序对应的SQL Server Compact的本机组件.安装正确版本的SQL Server Compact.有关更多详细信息,请参阅知识库文章974247.

我有点困惑,我应该安装/更新什么呢?

visual-studio-2008 sql-server-ce

0
推荐指数
1
解决办法
7699
查看次数

SQL Server CE不支持DataReader.HasRows?

我有以下代码;

  Dim rdr As SqlCeDataReader = cm_sel.ExecuteReader
  If rdr.HasRows Then
    While rdr.Read
      Documents.DeleteDocument(rdr.Item("fID"))
    End While
  End If
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

如果基础游标不可滚动,则SQL Server Compact不支持对HasRows属性的调用.

那么在实际读取DataReader之前我应该​​如何检查数据是否存在?

编辑

整个代码:

 Dim con As New SqlCeConnection(ConfigurationManager.ConnectionStrings("MyConnectionString").ToString)
 Dim cm_sel As New SqlCeCommand("SELECT fID FROM Files WHERE fCatID=" & catID, con)
   Try
     con.Open()
     Dim rdr As SqlCeDataReader = cm_sel.ExecuteReader

      If rdr.HasRows() Then
         While rdr.Read
            Documents.DeleteDocument(rdr.Item("fID"))
          End While
       End If

        Return "{'result':'ok'}"
     Catch ex As Exception
         Return "{'result':'error'}"
      Finally
          con.Close()
          con.Dispose()
      End Try
Run Code Online (Sandbox Code Playgroud)

vb.net asp.net sql-server-ce

0
推荐指数
1
解决办法
3644
查看次数

简单的SqlCECommand更新将无法正常工作.为什么?

我无法弄清楚为什么这个简单的更新命令不起作用:

        private void button1_Click(object sender, EventArgs e)
    {
        SqlCeCommand cmd = new SqlCeCommand("UPDATE tbl_Settings set password = '1234')", conn);
        try
        {
            cmd.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message.ToString());
        }
    }
Run Code Online (Sandbox Code Playgroud)

错误信息: There was an error parsing the query. [ Token line number = 1,Token line offset = 42,Token in error = ) ]

.

我的select和insert命令完美无缺:

 SqlCeCommand cmd = new SqlCeCommand("SELECT password FROM tbl_Settings", conn);
        string password = cmd.ExecuteScalar().ToString();
Run Code Online (Sandbox Code Playgroud)

c# sql visual-studio-2010 sql-server-ce winforms

0
推荐指数
1
解决办法
2101
查看次数

连接数据库时出错

以下代码在执行期间出错.

string connectionString = "Data Source=D:\\Base.sdf;Persist Security Info=False";
SqlConnection sqlConnection = new SqlConnection(connectionString)) 
sqlConnection.Open();
Run Code Online (Sandbox Code Playgroud)

错误是:

在建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server未配置为允许远程连接.(提供程序:SQL网络接口,错误:26 - 找到指定的服务器/实例时出错)

我试过SqlCeConnection而不是SqlConnection,编译器找不到该类的库.

请帮助解决这个问题.

  • 操作系统:Windows 7
  • 工具:Microsoft Visual Studio 2010
  • 语言:C#

c# error-handling database-connection sql-server-ce

0
推荐指数
1
解决办法
264
查看次数

如何在c#中使用if/then语句设置变量类型?

我有一个执行SQL查询的函数.根据注册表值,它将命中SQL Server或SQL Server Compact Edition.如果它使用的是SQL Server CE,则设置recordSet变量的行应如下所示:

SqlCeDataReader recordSet = da.ExecuteSQLCommand(selectCommand);
Run Code Online (Sandbox Code Playgroud)

对于SQL Server,它应该如下所示:

SqlDataReader recordSet = da.ExecuteSQLCommand(selectCommand);
Run Code Online (Sandbox Code Playgroud)

我试图将所有这些放在函数开头的if/then语句中,但似乎无法弄清楚如何在if/then中设置Type.这是我的(部分)代码:

public static string SqlQuery(string selectCommand, int regval)
{
    var recordSet = null;
    string selectCommand = "select * from whatever";

    if (regval == 0)
    {
        SqlDataReader recordSet = null;
    }
    else
    {
        SqlCEDataReader recordSet = null;
    }

    recordSet = da.ExecuteSQLCommand(selectCommand);
}
Run Code Online (Sandbox Code Playgroud)

问题是除非我在if/else之前声明了recordSet变量,否则我不能在之后使用它.但是,如果我在if/else之前声明它,我就无法更改类型.

.net c# sql-server sqldatareader sql-server-ce

0
推荐指数
1
解决办法
133
查看次数

删除数据库记录及其相关记录

我有一个产品、类别和“productsInCategories”的数据库,看起来像:


用户

id?  name  ?
????????????
1 ?  john  ?
69?  jane  ?
Run Code Online (Sandbox Code Playgroud)

产品

id?  name  ? cost ?description?
???????????????????????????????
21?snickers?  23  ? foo       ?
34?  mars  ?  20  ? bar       ?
37?  daim  ?  21  ? oofrab    ?
79? banana ?  8   ? foobar    ?
80?  apple ?  10  ? barfoo    ?
Run Code Online (Sandbox Code Playgroud)

类别

id?  userId ?   name  ?
???????????????????????
10?    69   ?chocolate?
55?    69   ?favorites?
20?    1    ? fruit   ?
Run Code Online (Sandbox Code Playgroud)

产品分类

categoryId?productId?
?????????????????????
    10    ?   21    ?
    10    ? …
Run Code Online (Sandbox Code Playgroud)

sql sql-server-ce

0
推荐指数
1
解决办法
1379
查看次数

无效的列名 'Math' - 从数据库中检索数据

有人可以解释为什么会这样吗?我正在尝试从 mysql 数据库中检索数据,但发生此错误,但当我检索一个整数值(例如 TeacherID)时,相同的代码工作正常。检索非数字值时出现错误。

string connectionString = (@"Data Source=(LocalDB)\v11.0;AttachDbFilename=\myDB.mdf;Integrated Security=True");
        string sql = "SELECT * FROM Teacher WHERE Subject = "+ TSubject.Text;
        SqlConnection connection = new SqlConnection(connectionString);
        SqlDataAdapter dataadapter = new SqlDataAdapter(sql, connection);
        DataSet ds = new DataSet();
        connection.Open();
        dataadapter.Fill(ds, "Teacher");
        connection.Close();
        DataGridViewStudent.DataSource = ds;
        DataGridViewStudent.DataMember = "Teacher";
Run Code Online (Sandbox Code Playgroud)

我已经检查过拼写错误或类型,一切正常。所以是什么问题。

c# sql-server-ce

-3
推荐指数
1
解决办法
47
查看次数

为什么此SqlCeCommand ExecuteReader调用失败?

我在Wigley和Wheelwright的"Microsoft .NET Compact Framework"中修改了下面的代码:

SqlCeConnection cn = new SqlCeConnection(@"Data Source=\My Documents\Traffic.sdf");
String sSQL= "SELECT CarID, Reg, Location FROM Cars");
SqlCeCommand cmdSelect = new SqlCeCommand(sSQL, cn);
cmdSelect.CommandType = CommandType.Text;
SqlCeDataReader dtr = cmdSelect.ExecuteReader(CommandBehavior.Default); // It's "cmd." instead of "cmdSelect." in the book, but that doesn't compile
while (dtr.Read())
{
    ListViewItem item = new ListViewItem(dtr.GetInt32(0).ToString());
    item.SubItems.Add(dtr.GetString(1));
    item.SubItems.Add(dtr.GetString(2));
    listViewCars.Items.Add(item);
}
Run Code Online (Sandbox Code Playgroud)

...所以我的代码是这样的:

    private String getDataAsXMLFromTable(String tableName, String siteNum)
    {
        String strXML;
        StringBuilder sbXML = new StringBuilder();

        String lineId;
        String refNum;
        String upcCode;
        String desc; …
Run Code Online (Sandbox Code Playgroud)

compact-framework executereader windows-ce sql-server-ce sqlcedatareader

-4
推荐指数
1
解决办法
533
查看次数