--创建一个实现split功能 的函数 --具体使用 select a from [dbo].[f_split]('aaa,bbb',',') Create function [dbo].[f_split](@SourceSql nvarchar(4000),@StrSeprate varchar(10)) returns @temp table(a nvarchar(255)) as begin declare @i int set @SourceSql=rtrim(ltrim(@SourceSql)) set @i=charindex(@StrSeprate,@SourceSql) while @i>=1 begin insert @temp values(left(@SourceSql,@i-1)) set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i) set @i=charindex(@StrSeprate,@SourceSql) end if @SourceSql<>'\' insert @temp values(@SourceSql) return endgoselect a from [dbo].[f_split](N'诺基亚,三星',',') drop function [dbo].[f_split] /*a --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 诺基亚 三星(所影响的行数为 2 行)*/
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt=GetDataTable(searchCondition);
string response=dt.Rows[0][0].ToString();
if(response.EndsWith(";"))
{
response=response.Substring(0,response.Length-1);
}
IList<string> list = new List<string>();
for (int i = 0; i < response.Split(',').Length; i++)
{
list.Add(response.Split(',')[i].ToString());
} //list即为所求
} private string connString = "数据库连接字符串";
private DataTable GetDataTable(string searchCondition)
{
SqlConnection conn = new SqlConnection(connString);
string query = string.Format(@"select mobileName from table1 where id='{0}'",searchCondition);
SqlCommand cmd = new SqlCommand(query, conn);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
try
{
conn.Open();
adapter.Fill(dt);
return dt;
}
catch
{
throw;
}
finally
{
cmd.Dispose();
conn.Close();
}
}
取的时候split成一个数组就行了
如:
string[] arr = str.split(",");
2、这个设计不仅涉及到品牌,应该还涉及到型号,应该是两个列
3、假设非要是取出来"诺基亚,三星",如果只涉及判断是否存在的话,可以用String.indexOf(“”)来做,判断是否存在就可以了。
4、如果要整理成集合的话,可以用String.Split(',');来分割
string[] arr = str.split(",");
//读取数据库里面的信息
private string GetInfo()
{
SqlConnection conn = new SqlConnection("连接字符串");
SqlCommand cmd = new SqlCommand("select 手机名 from 表名 ",conn);
conn.Open();//打开数据库连接
string phoneName = (string)cmd.ExecuteScalar();//执行Sql语句返回首行首列
conn.Close();
return phoneName;
}
//处理信息
private string[] ProcessRes()
{
string Resulet = GetInfo();
string[] Res = Resulet.Split(',');
return Res;//这就是最后要的结果
}
www.12580520.com
www.0663bx.com
--具体使用 select a from [dbo].[f_split]('aaa,bbb',',')
Create function [dbo].[f_split](@SourceSql nvarchar(4000),@StrSeprate varchar(10))
returns @temp table(a nvarchar(255))
as
begin
declare @i int
set @SourceSql=rtrim(ltrim(@SourceSql))
set @i=charindex(@StrSeprate,@SourceSql)
while @i>=1
begin
insert @temp values(left(@SourceSql,@i-1))
set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)
set @i=charindex(@StrSeprate,@SourceSql)
end
if @SourceSql<>'\'
insert @temp values(@SourceSql)
return
endgoselect a from [dbo].[f_split](N'诺基亚,三星',',')
drop function [dbo].[f_split]
/*a
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
诺基亚
三星(所影响的行数为 2 行)*/