InfoPath读取数据库

时间:2020-12-15 21:50:22
  public void LoadBtn_Clicked(object sender, ClickedEventArgs e)
{
// 配置连接字符串
using (SqlConnection con = new SqlConnection("Data Source=sps;Initial Catalog=Test;User ID=sa;password=654321"))
{
//配置查询语句 http://blog.csdn.net/jintougao/article/details/8587661 sqlcommand的用法
using (SqlCommand com = new SqlCommand(string.Format("select * from UserInfo"), con))
{
//打开数据连接
con.Open();
//创建阅读器对象 循环读取查询语句查询出的每一行的数据
SqlDataReader dr = com.ExecuteReader();
//获取重复表的每一行数据
XPathNodeIterator nodes = CreateNavigator().Select("/my:myFields/my:组1/my:组2", NamespaceManager);
//如果读到数据继续读取下一行 没读到返回false 结束循环
while (dr.Read())
{
//获取订单数据重复表的最后一行
XPathNavigator node = CreateNavigator().SelectSingleNode("/my:myFields/my:组1/my:组2[" + nodes.Count + "]", NamespaceManager);
//复制最后一行给一个新的对象
XPathNavigator xdata = node.Clone();
//插入到最后一行的后面
node.InsertAfter(xdata);
//设置插入那一行的对应列的属性
xdata.SelectSingleNode("my:ID", NamespaceManager).SetValue(dr["ID"].ToString());
xdata.SelectSingleNode("my:姓名", NamespaceManager).SetValue(dr["Name"].ToString());
xdata.SelectSingleNode("my:年龄", NamespaceManager).SetValue(dr["Age"].ToString());
}
}
} }

InfoPath读取数据库 简单易懂