c#textbox中的字符串存入sql数据库
字符串如041023023025026我想把041,023,023,025,026分别存入不同的列
而且如果041第一个位是0就要清掉0转换成41存入,如果是141这样的就直接存141
而且数据库类型是float类型
--------------------编程问答-------------------- 无人帮助?
难道要流产?
用Split 分割了再int.Parse转换吗?
但是这个字符串没有隔开的标识啊,即使是0也是有用的。 --------------------编程问答--------------------
--------------------编程问答-------------------- 你也可以先自己拆分好了,然后再进行存储。
declare @s varchar(30)
set @s='041023023025026'
set @s=ltrim(rtrim(replace(@s,'0',' ')))
declare @i int;set @i=len(@s)-len(replace(@s,' ',''))+1
set @s=replace(@s,' ','.')
declare @k varchar(4)
set @k=substring(@s,1,charindex('.',@s)-1)
set @s=substring(@s,charindex('.',@s)+1,len(@s))
select @k as col1,parsename(@s,4) as col2,parsename(@s,3) as col3,
parsename(@s,2) as col4,parsename(@s,1) as col5
/*
col1 col2 col3 col4 col5
---- ---- ---- ----- ---------
41 23 23 25 26
*/
例如你的:041023023025026
string text = textbox1.text;
string[] str = new string[5];
for(int i = 0;i<5;i++)
{
str[i] = text.substring(i*3,3);
}
这样从str[0]到str[4]的五个就是需要存储的字段,然后在分别存储到每一列就好了。 --------------------编程问答--------------------
忘记去除第一个0了,其实只要这样就行了:
str[0] = convert.tostring(convert.toint32(str[0]));
其实这样就是先强制转换为int型,根据其最高位如果为0自动剪除的特性,然后再强制转换为string型。 --------------------编程问答-------------------- 用Substring() --------------------编程问答--------------------
补充:.NET技术 , C#