C#代码转换和T-SQL,天下无双

pengjihong960 2008-06-10 02:22:20
/// <summary>
/// 得到编号
/// </summary>
/// <param name="pre">标识(只支持两个字符)</param>
/// <param name="columnName">列名</param>
/// <param name="tableName">表名</param>
/// <returns>得到的编号</returns>
public string GetNum(string pre, string columnName, string tableName)
{
try
{
decimal[] max = new decimal[1];
if (pre != null)
{
if (pre.Length != 2)
{
return null;
}
}


String sql = String.Format("select {0} from {1}", columnName, tableName);
SqlConnection con = new SqlConnection(SqlHelper.ConnectionString_TourManage);
SqlCommand cmd = new SqlCommand(sql.ToString(), con);
if (con.State == ConnectionState.Closed)
con.Open();
using (SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
int i = 0;
//测试
while (dr.Read())
{
if (max.Length <= i) { Array.Resize(ref max, i+1); }
max[i]=Convert.ToDecimal( dr[columnName].ToString().Substring(2));
i++;
}
//冒泡排序
BubbleSort(max);
}
if (max[0]==0)
{
return pre + "1";
}
else
{
decimal d = decimal.Parse(max[0].ToString());
d = d + 1;
return pre + d.ToString();
}
}
catch (Exception ex)
{

throw ex;
}
finally { }
}


/// <summary>
/// 冒泡排序
/// </summary>
/// <param name="temp"></param>
/// <returns></returns>
public void BubbleSort(decimal[] R)
{
int i, j;
decimal temp;
/**想像一个图,是从上到下排列的,心中有图,用任何编程语言都是可以描述出来的*/

//最多做R.Length-1趟排序
for (i = 0; i < R.Length; i++)
{
for (j = R.Length - 2; j >= i; j--)
{
//交换条件
if (R[j + 1] > R[j]) // < 为升序 如果 >,则表示降序
{
temp = R[j + 1];
R[j + 1] = R[j];
R[j] = temp;
}
}
}
}



T-SQL 代码如何转换
//小弟不才写的一个函数有问题
CREATE function GetNum
(
@pre char(2), --前缀
@columnName varchar(30), --列名
@tableName varchar(50) --表名
)
returns varchar
as
begin
--声明游标
declare GetNum_cursor cursor
for
exec ('select '+ @columnName+' from '+ @tableName)
--列数据
declare @coName varchar(10)
--可排序数据
declare @sortNum varchar(1000)
set @sortNum=''
fetch next from GetNum_cursor into @coName
while(@@fetch_status<>-1)
begin
if(@@fetch_status<>-2)
begin
set @sortNum=@sortNum+','+substring(@coName,3,len(@coName)-2)
end
end

return @sortNum
end
...全文
73 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxmonsy 2008-06-10
  • 打赏
  • 举报
回复
没明白LZ的意思.
jinjazz 2008-06-10
  • 打赏
  • 举报
回复
不知所云

110,475

社区成员

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

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

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