刚刚学的简单三层架构,读取不了数据
刚学的简单三层架构,读取不了数据
第一步 我写呢一个App.config
第二步,我写了一个SqlHelper类,并写了一个方法
第三步,我写呢一个customerDAL类,并写了一个方法GatALL()
第四步,我在datagrid加载时调用 customerDAL类的GatALL()方法
private void gridcustomers_Loaded(object sender, RoutedEventArgs e)
{
gridcustomers.ItemsSource = customerDAL.GatALL();
}
最终结果是在datagrid中显示不了数据???调试运行都没有报错,数据库中也是有数据存在的。
请各位指点
??????
最后附上XML
第一步 我写呢一个App.config
<connectionStrings>
<add name="dbconstr" connectionString="Data Source=127.0.0.1;Initil Catalog=user032014;User ID=sa; Password=sql2008"></add>
</connectionStrings>
第二步,我写了一个SqlHelper类,并写了一个方法
class SqlHelper
{
public static string connstr = ConfigurationManager.ConnectionStrings["dbconstr"].ConnectionString;
public static DataTable ExecuteDatable(string sql, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connstr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
cmd.Parameters.AddRange(parameters);
SqlDataAdapter adapter=new SqlDataAdapter(cmd);
DataSet datset=new DataSet();
adapter.Fill(datset);
return datset.Tables[0];
}
}
}
第三步,我写呢一个customerDAL类,并写了一个方法GatALL()
class customerDAL
public static Customer[] GatALL()
{
DataTable table= SqlHelper.ExecuteDatable("select * from z_qx");
Customer[] customers=new Customer[table.Rows.Count];
for (int i = 0; i < table.Rows.Count; i++)
{
DataRow row = table.Rows[i];
customers[i] = ToCustomer(row);//吧下面的语句写成一个方法封装调用。
//Customer cust = new Customer();
//cust.id = (long)row["id"];
//cust.name = (string)row["name"];
//cust.brithday = (DateTime?)SqlHelper.FromDBvalue(row["brithday"]);
//cust.address = (string)row["address"];
//cust.telnum = (string)row["telnum"];
//cust.custlevel = (int)SqlHelper.FromDBvalue(row["custlevel"]);
//customers[i] = cust;
return customers;
}
}
第四步,我在datagrid加载时调用 customerDAL类的GatALL()方法
private void gridcustomers_Loaded(object sender, RoutedEventArgs e)
{
gridcustomers.ItemsSource = customerDAL.GatALL();
}
最终结果是在datagrid中显示不了数据???调试运行都没有报错,数据库中也是有数据存在的。
请各位指点
??????
最后附上XML
<DataGrid AutoGenerateColumns="False" IsReadOnly="True" Name="gridcustomers" Loaded="gridcustomers_Loaded">
<DataGrid.Columns>
<DataGridTextColumn Width="100" Header="姓名" Binding="{Binding name}"></DataGridTextColumn>