Getting substrings from <br />

本文关键字:br gt lt substrings from Getting | 更新日期: 2023-09-27 18:19:52

我有一个字符串,里面装满了来自数据库的ID

当我调用数据库来检索数据时,我将所有数据存储在一个字符串中,在所有ID之间有一个<br />

 cmd = new OleDbCommand(getCode, conn);
                rdr = cmd.ExecuteReader();
                while (rdr.Read())
                {
                    custCodes += rdr[0].ToString() + "<br />";
                }

现在,我想一个接一个地从字符串中运行ID,以从数据库中检索其余数据。

我想使用一个子字符串逐个检查ID。到目前为止,我有这样的东西:

String str=custCodes ;
        int index = 0;

        while (index != first.Length)
        {
            int indexOf = first.IndexOf("<br />");
             str = first.Substring(indexOf);
            index += 1;
        }

但我对该如何继续感到困惑。我必须使用数组,并将代码存储在数组中,然后在数据库中运行它吗?我知道我的代码是错误的,但我对如何修复它感到困惑。子字符串从来都不是我最喜欢的编码部分。

Getting substrings from <br />

为什么用'
'存储id?。逐个筛选结果并显示?然后请将结果存储在数据表或数组列表中。然后可以使用索引或列名来过滤结果。像

更好的方法是将所有列或您想要的列存储到数据表中,就像您想要一样

列名"id"、"name"、"email"

DataTable getdt(){
MySqlConnection conn = null;
            MySqlDataAdapter da ;
            DataTable dt = new DataTable();
            String sql="select id,name,email from tablename ";
            conn = new MySqlConnection(cs);
            da=new MySqlDataAdapter(sql,conn);

            conn.Open();
            try
            {
                DataSet dsl = new DataSet();
                da.Fill(dsl,"Table");
                dt = dsl.Tables["Table"];
                return dt;
            }
            catch (MySqlException ex)
            {
                String err = ex.Message;
                return dt;
            }
              } 

并且在前端中

只需执行以下代码即可拆分

DataTable ddt=new DataTable();
ddt=getdt();
int le=ddt.Rows.Count;
for(int i=0; i<le; i++){
int id=ddt.Rows[i]["id"];
String name=ddt.Rows[i]["name"].ToString();
}

您也可以使用ArrayList。

不需要找到结果的id,然后对每个id运行dbcall来提取其他列。这将降低您的应用程序的速度。请使用sql适配器而不是mysql适配器。

string[] ids = yourIds.Split(new string[] { "<br />" }, StringSplitOptions.RemoveEmptyEntries);

使用id数组,您可以使用StringBuilder来形成一个要执行的大型sql字符串。

您可以使用String.Split方法,从字符串中获取ID数组

这是文档:

http://msdn.microsoft.com/en-us/library/tabh47cf.aspx

var ids = custCodes.Split("<br />");
foreach(var item in ids)
{
   //Check the current id
}

这似乎是一种非常奇怪的做事方式,但您可以使用以下方法:-

string[] custIds = custCodes.Split("<br />");
foreach(string s in custIds)
{
   int id = Convert.ToInt32(s);
   //Get record from DB with id etc..
}

只需使用"split chars"数组将字符串拆分为一个数组——在您的情况下,只需<br />:

var ids = idList.Split(new string[]{"<br />"}, StringSplitOptions.None);

这将为您提供一个类型字符串的数组,您可以将其解析为int的,或者您可能需要的任何内容。

我可以用Java给您举一个例子。如果你把所有的id都保存在CustCodes中,你可以这样做:

String[] ids = CustCodes.split("<br />");
for(int i = 0; i < ids.lenght; i++)    
system.out.println(ids[i])

我希望这能帮助你。你应该在c#中找到相同的函数(拆分)

如果您需要更多帮助,请告诉我。:)