Ⅰ 如何在c# treeview控件动态绑定数据库,实现2级目录,添加父节点并在父节点下添加子节点
从你的数据表中读晌凳出父举尺子节点表到DataTable中,然后按上下级关系一个个添加就可以。添加父子节点只需另写一个功能很数据表中加就行,比较简单。
给你一个示例,大概是这样子。
private void ShowTree()
{
this.SystemTree.Nodes.Clear();
TreeNode rootNode = new TreeNode();
rootNode.Text = "XXXXXXXX";
rootNode.Value = "";
int status = 0;
rootNode.NavigateUrl = "javascript:SelectNode('root',' '," + Convert.ToString(nodeid++) + "," + status + ")";
this.SystemTree.Nodes.Add(rootNode);
SubsystemManagement subSystem = new SubsystemManagement();
DataTable dt = new DataTable();
dt = subSystem.GetAllsubsystemInfo(); /正谨高/显示子系统名称
foreach (DataRow dr in dt.Rows)
{
TreeNode subNode = new TreeNode();
string subSysName = dr["CFunName"].ToString();
subNode.Text = subSysName;
string subSysId = dr["CFunctionID"].ToString();
subNode.Value = subSysId;
status = 1;
subNode.NavigateUrl = "javascript:SelectNode('subsys','" + subSysId + "'," + Convert.ToString((nodeid++)) + "," + status + ")";
rootNode.ChildNodes.Add(subNode);
rootNode.Expanded = true;
DataTable sdt = new DataTable();
sdt = subSystem.GetMolesBySubSysId(subSysId); //显示模块名称
foreach (DataRow sdr in sdt.Rows)
{
TreeNode sNode = new TreeNode();
string moleName = sdr["CFunName"].ToString();
sNode.Text = moleName;
string moleId = sdr["CFunctionId"].ToString();
sNode.Value = moleId;
status = 1;
sNode.NavigateUrl = "javascript:SelectNode('mole','" + moleId + "'," + Convert.ToString((nodeid++)) + "," + status + ")";
subNode.ChildNodes.Add(sNode);
subNode.Expanded = true;
DataTable fdt = new DataTable();
fdt = subSystem.GetFunctionsByMoleId(moleId); //显示功能名称
foreach (DataRow fdr in fdt.Rows)
{
TreeNode fNode = new TreeNode();
fNode.Text = fdr["CFunName"].ToString();
fNode.Value = fdr["CFunctionId"].ToString();
status = 2;
fNode.NavigateUrl = "javascript:SelectNode('function','" + fdr["CFunctionId"].ToString() + "'," + Convert.ToString((nodeid++)) + "," + status + ")";
sNode.ChildNodes.Add(fNode);
sNode.Expanded = false;
}
}
}
}
Ⅱ 什么是数据绑定型控件与非绑定型控件它们使用时要注意什么
你想说的是数据库绑定控件吧?
绑定型控件是指可以和数据库绑定使用的控件,它能够将数据库中的数据信息,通过应用程序中的的
数据绑定
控件连接起来。实现对数据库的操作。
visual
basic
中,数据绑定控件有data控件、ADO控件。
data控件默认的数据库类型为:Access(connect属性)。
ADO控件对数据库进行操作前首先要用
connection对象
与数据库建立联系,然后用
recordset对象
来操作、维护数据,
command对象
实现
存储过程
和参数的查询。
Ⅲ c语言怎样连接数据库(c语言和数据库连接)
1、配置ODBC数据源。
2、使用sql函数进行连接。
对于1、配置数据源,配置完以后就可以编程操作数据库了。
对于2、使用SQL函数进行连接,参考代码如下:
#include
#include
#include
voidmain()
{
HENVhenv;//环境句柄
HDBChdbc;//数据源句柄
HSTMThstmt;//执行语句句柄
unsignedchardatasource[]="数据源名称";//即源中设置的源名称
unsignedcharuser[]="用户名";//数袭此据库的帐户拍野迅名
unsignedcharpwd[]="密码";//数据库的密码
unsignedcharsearch[]="selectxmfromstuwherexh=0";
SQLRETURNretcode;//记录各SQL函数的返回情况
//分配环境句柄
retcode=SQLAllocEnv(&henv);//等介于(SQL_HANDLE_ENV,SQL_NULL
,&henv);
//设置ODBC环境版本号为3.0
retcode=(henv,SQL_ATTR_ODBC_VERSION,(void*)SQL_OV_ODBC3,0);
//分配连接句柄
retcode=(henv,&hdbc);//等介于(SQL_HANDLE_DBC,henv,&hdbc);
//设置连接属性,登录超时为*rgbValue秒(可以没有)
//(hdbc,SQL_LOGIN_TIMEOUT,(SQLPOINTER)(rgbValue),0);
//直接连接数据源
//如果是windows身份验证,第二、三参数可以是
,也可以是任何字串
//SQL_NTS即"
retcode=SQLConnect(hdbc,datasource,SQL_NTS,user,SQL_NTS,pwd,SQL_NTS);
//分配语句句柄
retcode=(hdbc,&hstmt);//等介于(SQL_HANDLE_STMT,hdbc,&hstmt);
//直接执行查询语句
retcode=(hstmt,search,SQL_NTS);
//将数据缓冲区绑定数据库中的相应脊尘字段(i是查询结果集列号,queryData是绑定缓冲区,BUFF_LENGTH是缓冲区长度)
SQLBindCol(hstmt,i,SQL_C_CHAR,queryData[i-1],BUFF_LENGTH,0);
//遍历结果集到相应缓冲区queryData
SQLFetch(hstmt);
/*
*对遍历结果的相关操作,如显示等
*/
//注意释放顺序,否则会造成未知错误!
(SQL_HANDLE_STMT,hstmt);
(hdbc);
(SQL_HANDLE_DBC,hdbc);
(SQL_HANDLE_ENV,henv);
}
Ⅳ 在C#中,用DatagridView控件绑定数据后,怎样让它和数据库的数据同步
从数据库中把数据读出来放到一个数据集中,比如list<>、datatable,dataset,我一般用list<>,
然后绑定数据源:
ilist
slist=studentdb.getalllist();
datagridview.datasource=slist;
如果你没有设置datagridview的列,它会自动生成所有列,
Ⅳ 如何把数据库里面的数据绑定到Treeview控件中,我用的是C#连得SQL Server
// 根节点 单位节点
datatable dtNodeDepartment=new datatable();
dtNodeDepartment=db.getDatatable(" select distinct 单位编号 from department");//该行为读取数据库数据至datatable 表格dtNodeDepartment 中。您根据自己情况调整。
for(int i=0;i<dtNodeDepartment.Rows.Count ;i++) //遍历数据表的行,将数据添加进去
{
TreeNode node = new TreeNode();
node.Text = dtNodeDepartment.Rows[i][0].ToString().Trim();// 您的需求是对该行数据 根据节点的级别,求day,或求hour,或求year,然后绑定到nodetext就行了。
node.Name = "单位编号";
treeView.Nodes.Add(node);
}
祝你成功!!