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+
[解决办法]
[解决办法]
从你的查询语句可以看出,你完全是个SQL外行,就连多表关联查询都不会写,你这里只要一条SQL语句就可以搞定的,你却要分多次查询嵌套,我都不想看你的那个C#代码了,你的问题应该从SQL语句的地方找起,改写SQL,一步执行到位,提高效率。
[解决办法]
懒得看 sql 正不正确了
DataTable 转换成 String[] 可以这样
- C# code
string[] ary = Array.ConvertAll<DataRow,string>(datatable.Rows, r=>r["ModuleID"].ToString());
[解决办法]
菜单的数据不会很多,可以一次性读取完到内存,再组合成树
[解决办法]