D
dream0
Unregistered / Unconfirmed
GUEST, unregistred user!
我说的是那个函数就是DELPHI提供的StringReplace这个函数,看看我下面的语句
procedure TForm1.Button1Click(Sender: TObject);
var
s:TStrings;
begin
s:=TStringList.Create;
s.LoadFromFile('F:/ddd/Tlist.cs');
s.Text:=StringReplace(s.Text,'OleDb','Sql',[rfReplaceAll,rfIgnoreCase]);
s.SaveToFile('F:/ddd/tlist.cs');
s.Free;
end;
'F:/ddd/Tlist.cs'这个文件的内容如下,如果要测试的朋友把他复制保存到文本文件即可
using System;
using System.Data;
using System.Data.OleDb;
/// <summary>
/// TList 的摘要说明
/// </summary>
public class TList
{
public TList()
{
}
public string GetBigList(int iListId, int iPageIndex, string sOther) //sOther用来记录版块的一些附助参数,由于在逻辑层有读出,所以传过来
{
TData tdata = new TData();
OleDbConnection conn = tdata.conn;
string sql = "SELECT * FROM wx_list WHERE fParent=" + iListId.ToString();
OleDbCommand cmd = new OleDbCommand(sql, conn);
string sBody = "";
conn.Open();
OleDbDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
sBody += "<div class='divlist'><a class='alist' href=listz" + dr["fId"].ToString()+"z1.aspx>"+ dr["fName"].ToString() + "</a></div>";
}
dr.Close();
conn.Close();
测试了的朋友一定会发现退换出来的结果,完全不是想象中的那样,,但是你把rfIgnoreCase这个参数去掉,你马上会发货又完全可以正常退换了..但是按照这个函数的正常情况的话,,加了rfIgnoreCase应该是不会有问题的,,
当然这个函数退换的时候不是所有的代码都有这个问题,,我是退换上面那段文本的时候才发现这个问题的,,我也搞不清楚上面那段文本有什么特殊的地方,从另一个角度上来说还是这个函数有BUG的...
有高见的朋友欢迎发表下..
procedure TForm1.Button1Click(Sender: TObject);
var
s:TStrings;
begin
s:=TStringList.Create;
s.LoadFromFile('F:/ddd/Tlist.cs');
s.Text:=StringReplace(s.Text,'OleDb','Sql',[rfReplaceAll,rfIgnoreCase]);
s.SaveToFile('F:/ddd/tlist.cs');
s.Free;
end;
'F:/ddd/Tlist.cs'这个文件的内容如下,如果要测试的朋友把他复制保存到文本文件即可
using System;
using System.Data;
using System.Data.OleDb;
/// <summary>
/// TList 的摘要说明
/// </summary>
public class TList
{
public TList()
{
}
public string GetBigList(int iListId, int iPageIndex, string sOther) //sOther用来记录版块的一些附助参数,由于在逻辑层有读出,所以传过来
{
TData tdata = new TData();
OleDbConnection conn = tdata.conn;
string sql = "SELECT * FROM wx_list WHERE fParent=" + iListId.ToString();
OleDbCommand cmd = new OleDbCommand(sql, conn);
string sBody = "";
conn.Open();
OleDbDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
sBody += "<div class='divlist'><a class='alist' href=listz" + dr["fId"].ToString()+"z1.aspx>"+ dr["fName"].ToString() + "</a></div>";
}
dr.Close();
conn.Close();
测试了的朋友一定会发现退换出来的结果,完全不是想象中的那样,,但是你把rfIgnoreCase这个参数去掉,你马上会发货又完全可以正常退换了..但是按照这个函数的正常情况的话,,加了rfIgnoreCase应该是不会有问题的,,
当然这个函数退换的时候不是所有的代码都有这个问题,,我是退换上面那段文本的时候才发现这个问题的,,我也搞不清楚上面那段文本有什么特殊的地方,从另一个角度上来说还是这个函数有BUG的...
有高见的朋友欢迎发表下..