1

正如标题中所说,我在运行 Windows Mobile 6.5 的移动设备上从我的 WiFi 网络中的 SQL Server 检索数据时遇到问题。

每当我填写我的数据集时,我都不会收到任何错误。接下来,我将我的 XML 备份文件写入设备磁盘。这个 XML 文件包含一个模式和数据(它确实如此!)。

这是此 XML 文件的摘录:

/* The way datatable values are presented in my xml backup file */
<Table> 
   <c0>value0</c0> 
   <c1>value1</c1> 
   <c2>value2</c2>
   <c3>value3</c3> 
   <c4>value4</c4> 
</Table>
<Table>
   ...
</Table>
...

所以这显然是有效的......不是,如果我现在尝试访问该表应包含的数据。我通过以下两种方式做到这一点:

// 1 (in forms):
textBox1.Text = ds.Tables[0].Rows[0]["c2"].ToString();

// 2 (in testing log):
DataTable dt = ds.Tables["tablename"]; // ds is static class member DataSet
                                       // and definitely not null, but strongly 
                                       // named DataSet (tablenameDataSet.xsd type)
foreach (DataRow row in dt.Rows)
                    {
                        foreach (DataColumn col in dt.Columns)
                            sw.WriteLine(row[col]);
                        sw.WriteLine("".PadLeft(16, '='));
                    }

现在最后但并非最不重要的是,我检索数据的代码:

string connString = "Data Source=servername;Initial Catalog=databasename;
                     User ID=user;Password=pw";
string sql = @"SELECT c0, c1, c2, c3, c4, c5, c6
               FROM tablename
               ORDER BY c5";

System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(connString);
conn.Open();

System.Data.SqlClient.SqlDataAdapter da = new System.Data.SqlClient.SqlDataAdapter(sql, conn);
ds = new tablenameDataSet();
da.Fill(ds);

然后我正在编写 XML,然后是日志,然后以表单形式访问数据。ds.Tables[0].Rows.Count 为 0,而找到所有 7 列。所以它是正确的表。数据只能在那个 XML 备份文件中找到......

提前致谢!- 丹尼尔

4

0 回答 0