【问题标题】:Retrieving information stored in a SQL Server CE database in Visual Studio 2010在 Visual Studio 2010 中检索存储在 SQL Server CE 数据库中的信息
【发布时间】:2018-09-28 17:07:14
【问题描述】:

我问了一个问题[HERE],我们得到了存储在数据库 SQL Server CE 数据库中的所有信息。

现在的问题仍然是如何将存储的信息返回到变量中。

这行代码:

myReader.SqlCeReader();

不会编译,我被问到是否错过了编译器参考。

信息存储为带有整数“ID”主键的字符串。

这些信息将用于在适合启动的磁盘上创建快捷方式、绘画中的图像、可执行程序等。它们不应该超过字符串,这就是为什么我觉得很难做到,它应该很简单。

样本记录

id=int NstacksName=String NstacksPath=String.

我认为我完全错了,我很惊讶它竟然编译到这一步。

private void label2_Click(object sender, EventArgs e)
{
    string DirName;

    SqlCeConnection conn = new SqlCeConnection("Data Source=C:\\Users\\username\\Documents\\Visual Studio 2010\\Projects\\NStacks1\\NStacks1\\Database1.sdf");

    String name;

    try
    {
        conn.Open();

        SqlCeCommand Command = new SqlCeCommand("SELECT * FROM NStacks1 WHERE ID = 1", conn);

        DataTable Data = new DataTable();
        SqlCeDataAdapter adapter = new SqlCeDataAdapter(Command);

        SqlCeDataReader myReader;

        try
        {
             myReader.SqlCeReader();

             DirName = Data.ToString();
             con.Close();
             name = DirName;
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
         con.Close();
     }
}

【问题讨论】:

  • 你了解类或类型与变量的区别吗?您正在创建变量adapter,但您从不使用它。再一次,您正在创建一个变量myReader,但实际上并未为其分配任何值,并且您尝试执行该变量的方法。然后你用Data 做一些事情,这是一个空的DataTable - 我想知道你期望的结果是什么......
  • 就像我说的我觉得我错了,我把它拼凑成几个 youtube 视频,所以它一定很奇怪。我想我不知道该怎么做。

标签: c# visual-studio-2010 sql-server-ce


【解决方案1】:
    private void button4_Click(object sender, EventArgs e)
    {
        string SName, NStackPath;

        string source=("Data Source=C:\\Users\\username\\Documents\\Visual Studio 2010\\Projects\\NStacks1\\NStacks1\\Database1.sdf");
        SqlCeConnection Con = new SqlCeConnection(source);
        try{
            Con.Open();
            string Query= "SELECT * FROM Nstacks1 WHERE ID=1";
            SqlCeCommand command = new SqlCeCommand(Query , Con);
            SqlCeDataReader dr = command.ExecuteReader();
            if (dr.Read())
            { 
                textBox1.Text=(dr["NStacksName"].ToString());
                label2.Text = (dr["NStacksItem"].ToString());

            }
            Con.Close();
           }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                con.Close();
            }
       }
}

【讨论】:

    猜你喜欢
    • 2016-06-21
    • 2012-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-13
    • 2010-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多