Ⅰ 如何在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);
}
祝你成功!!