从表(数据库)C#创建/显示DataGrid

时间:2012-11-30 10:17:46

标签: c# sql database datagrid windows-mobile

我正在尝试在C#中显示一个DataGrid(对于应用程序WindowsMo​​bile)。我在DataConnections中有一个数据库(“pruebaDB.sdf”)和一个表(“tablaMercancia”)。

同样在DataSource中我有“pruebaDBDataSet”和“tablaMercancia”。

如何在DataGrid中显示数据表?

我使用SmartDevice项目(我不能使用DataGridView,只使用DataGrid)。

我可以在DataGrid中显示一个新表(为代码创建),但我不知道在我的数据库中显示现有表。

string conSTR = "Data Source=" + (System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)) + "\\pruebaDB.sdf;Persist Security Info=False";

SqlCeConnection connection = new SqlCeConnection(conSTR);

string sql = "SELECT * FROM tablaMercancia";
connection.Open();

SqlCeCommand cmd = new SqlCeCommand(sql, connection);
SqlCeDataAdapter da = new SqlCeDataAdapter(cmd);

//...............
//...Any idea?
//...............

connection.Close();

有什么想法吗?

感谢!!!

3 个答案:

答案 0 :(得分:2)

请按以下方式更改Datagridview名称:

    string conSTR = "Data Source=" + (System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)) + "\\pruebaDB.sdf;Persist Security Info=False";

    SqlCeConnection connection = new SqlCeConnection(conSTR);

    string sql = "SELECT * FROM tablaMercancia";
    connection.Open();

    SqlCeCommand cmd = new SqlCeCommand(sql, connection);
    SqlCeDataAdapter da = new SqlCeDataAdapter(cmd);
    DataSet ds=new DataSet();
    da.Fill(ds);


    //datagridview1 is name of datagridview in form:
    datagridview1.DataSource=ds.Tables[0];

    connection.Close();

答案 1 :(得分:0)

试试这个。

string sql = "SELECT * FROM tablaMercancia";
connection.Open();
//SqlCeCommand cmd = new SqlCeCommand(sql, connection);
SqlCeDataAdapter da = new SqlCeDataAdapter(sql, connection);
DataSet ds=new DataSet();
da.Fill(ds);

答案 2 :(得分:0)

设计页面跟踪gridview或数据网格

第一次使用命名空间using System.Data,SqlClient;

sqlconnection con=new sqlconnection("string path");
con.open();
sqldataadapter da=new sqldataadapter("select * from emp",con);
dataset ds=new dataset();
da.fill(ds,"emp");
gridview1.datasource=ds;
gridview1.databind();