首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

DataTable转换成string[]模式

2012-09-23 
DataTable转换成string[]形式C# codefor (int i 0 i dt1.Rows.Count i++){sa (string[])ArrayList

DataTable转换成string[]形式

C# code
for (int i = 0; i < dt1.Rows.Count; i++)            {                sa = (string[])ArrayList.Adapter((Array)dt1.Rows[i]["ModuleID"]).ToArray(typeof(string));                string s2 = "select * from ws_system where M_ParentID = " + sa[i] + "";                            }

大概意思是这个意思,就是把dt1.Rows[i]["ModuleID"]赋值给string数组sa,然后查询。但是这样写是不行的,在循环外调用不了。求一个可用的方法

[解决办法]
dt1.Rows[i]["ModuleID"]好像只是一个值吧,你为什么用数组接收,还ToArray。你直接用string类型的sa接收,tostring()不就得了,下面直接写+sa+
[解决办法]
探讨

C# code
string sql2 = "select * from ws_system where M_ParentID in (select ModuleID from ws_system where M_PageCode in (select Pagecode from ws_RolePermission where roleid=(select Power from ws_User……

[解决办法]
从你的查询语句可以看出,你完全是个SQL外行,就连多表关联查询都不会写,你这里只要一条SQL语句就可以搞定的,你却要分多次查询嵌套,我都不想看你的那个C#代码了,你的问题应该从SQL语句的地方找起,改写SQL,一步执行到位,提高效率。
[解决办法]
懒得看 sql 正不正确了

DataTable 转换成 String[] 可以这样

C# code
string[] ary = Array.ConvertAll<DataRow,string>(datatable.Rows, r=>r["ModuleID"].ToString());
[解决办法]
菜单的数据不会很多,可以一次性读取完到内存,再组合成树
[解决办法]
探讨
C# code


public DataTable Module_SelectByID( Userl c)
{
string sql2 = "select ModuleID from ws_system where M_PageCode in (select " + "Pagecode from ws_RolePermission where roleid=(select ……

热点排行