新手问题,希望大神能帮忙解决

chasel_yy 2014-07-28 08:44:46
//我查询出来的例如是 123,234,456,565,3423,datatable怎么拆分为
123
234
456
565
3423
希望可以贴下代码。谢谢
public static DataTable SelectCompetence1(string framesize)
{
try
{
using (SqlConnection conn = new SqlConnection(DBHelp.conn))
{
conn.Open();
string sql = "select F1008_PARADESC from TB1008_PARAMETER where F1008_PARACODE='分段能力' and '" + framesize + "'=F1008_REMARK1";
using (SqlCommand comm = new SqlCommand(sql, conn))
{

SqlDataAdapter sda = new SqlDataAdapter(comm);
DataTable dt = new DataTable();
sda.Fill(dt);


return dt;
...全文
149 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
chasel_yy 2014-07-28
  • 打赏
  • 举报
回复
分还是给你们,错误还是出以前一样的 = = 。 我自己在想想。 不用datatable的话 选择第一个后再去选第二个,选了第二个再去选第一个会报错。
wind_cloud2011 2014-07-28
  • 打赏
  • 举报
回复
      string sql = "select F1008_PARADESC from TB1008_PARAMETER where F1008_PARACODE='分段能力' and '" + framesize + "'=F1008_REMARK1";       DataTable dt = new DataTable(); sda.Fill(dt);  是将查询一记录写到DataTable 中      if (dt.Rows.Count>0) { string info = dt.Rows[0][0].ToString();;// "123,234,456,565,3423"; listBox1.DataSource = info.Split(','); }
chasel_yy 2014-07-28
  • 打赏
  • 举报
回复
引用 11 楼 duanzi_peng 的回复:
[quote=引用 8 楼 chasel_yy 的回复:] [quote=引用 6 楼 duanzi_peng 的回复:]

  DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("name"));
            string temp1 = "123,234,456,565,3423";
            string[] data = temp1.Split(',');
            foreach (string s in data) {
                DataRow dr = dt.NewRow();
                dr[0] = s;
                dt.Rows.Add(dr);
            }
怎么报错是空值 - - 。[/quote] [/quote] 我继续琢磨下。 如果按我上面的代码, 这个temp1里面放的是什么呢
chasel_yy 2014-07-28
  • 打赏
  • 举报
回复
引用 12 楼 wind_cloud2011 的回复:

读取用这个方式得了
  string connectionString = "Data Source=192.168.1.3;Initial Catalog=data;User ID=sa;password=sa;Integrated Security=False";
            string queryString = "select top 1 aa,bb,cc from table";
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                SqlCommand command = new SqlCommand(queryString, connection);
                connection.Open();
                SqlDataReader reader = command.ExecuteReader();
                try
                {
                    while (reader.Read())
                    {                   
                        string s0 = reader[0].ToString().Trim(); //// "123,234,456,565,3423";
                        listBox1.DataSource = s0.Split(',');                    
                    }
                }
                finally
                {
                    command.Dispose();
                    connection.Close();

                }
            }  


因为一些后续原因我只能用datatable = = 。 开始我也是用的 list集合。
wind_cloud2011 2014-07-28
  • 打赏
  • 举报
回复

读取用这个方式得了
  string connectionString = "Data Source=192.168.1.3;Initial Catalog=data;User ID=sa;password=sa;Integrated Security=False";
            string queryString = "select top 1 aa,bb,cc from table";
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                SqlCommand command = new SqlCommand(queryString, connection);
                connection.Open();
                SqlDataReader reader = command.ExecuteReader();
                try
                {
                    while (reader.Read())
                    {                   
                        string s0 = reader[0].ToString().Trim(); //// "123,234,456,565,3423";
                        listBox1.DataSource = s0.Split(',');                    
                    }
                }
                finally
                {
                    command.Dispose();
                    connection.Close();

                }
            }  


exception92 2014-07-28
  • 打赏
  • 举报
回复
引用 8 楼 chasel_yy 的回复:
[quote=引用 6 楼 duanzi_peng 的回复:]

DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("name"));
string temp1 = "123,234,456,565,3423";
string[] data = temp1.Split(',');
foreach (string s in data) {
DataRow dr = dt.NewRow();
dr[0] = s;
dt.Rows.Add(dr);
}

怎么报错是空值 - - 。[/quote]
mlqxj35674 2014-07-28
  • 打赏
  • 举报
回复
没搞明白,如果仅仅是改解变显示格式,将逗号替换为\r\n就可以了
wind_cloud2011 2014-07-28
  • 打赏
  • 举报
回复
string info = dt.Rows[0][0].ToString();// "123,234,456,565,3423"; listBox1.DataSource = info.Split(',');
chasel_yy 2014-07-28
  • 打赏
  • 举报
回复
引用 6 楼 duanzi_peng 的回复:

  DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("name"));
            string temp1 = "123,234,456,565,3423";
            string[] data = temp1.Split(',');
            foreach (string s in data) {
                DataRow dr = dt.NewRow();
                dr[0] = s;
                dt.Rows.Add(dr);
            }
怎么报错是空值 - - 。
chasel_yy 2014-07-28
  • 打赏
  • 举报
回复
引用 5 楼 wind_cloud2011 的回复:
你是先分开,再写到datatable中, 还是先写到datatable中,再取出?
写到datatable中再取出来放入listbox里面
exception92 2014-07-28
  • 打赏
  • 举报
回复

  DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("name"));
            string temp1 = "123,234,456,565,3423";
            string[] data = temp1.Split(',');
            foreach (string s in data) {
                DataRow dr = dt.NewRow();
                dr[0] = s;
                dt.Rows.Add(dr);
            }
wind_cloud2011 2014-07-28
  • 打赏
  • 举报
回复
你是先分开,再写到datatable中, 还是先写到datatable中,再取出?
bdmh 2014-07-28
  • 打赏
  • 举报
回复
用split分割为字符串,数组也可以作为数据源,或者分割为数组后,逐个添加到datatable中
wind_cloud2011 2014-07-28
  • 打赏
  • 举报
回复
或不用这个方式 ,查询返回这个串,用split分开放到数组中,再写到datatable中
chasel_yy 2014-07-28
  • 打赏
  • 举报
回复
引用 1 楼 wind_cloud2011 的回复:
先将这个串写到datatable中,取出后,再用split(‘,’)来将各个数分开阿
可以贴下代码嘛!我知道用split拆分,但是不会用datatable - -。谢谢你拉
wind_cloud2011 2014-07-28
  • 打赏
  • 举报
回复
先将这个串写到datatable中,取出后,再用split(‘,’)来将各个数分开阿

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧