数据表中的文本转换

时间:2012-09-26 08:53:31

标签: c#

在CSS中,我们可以使用text-transform:capitalize;使每个首字母大写。 我有一个数据表,我想让每列中的每个第一个字母大写。我如何执行文本转换:大写到SQL数据表? (我使用c#作为代码) 这是我的代码..

public void myfunction(DataSet ds)
{
    DataTable myTable = ds.Tables[0];
    // and now have to transform each first letter capital for 
    // all the columns in this table..
}

提前致谢!

5 个答案:

答案 0 :(得分:2)

您需要循环所有DataRows

foreach(DataRow r in ds.Tables[0].Rows)
{
    foreach(DataColumn c in ds.Tables[0].Columns)
    {
        if(!r.IsNull(c))
        {
            var field = r[c].ToString().Trim();
            if (field.Length == 1)
                r[c] = field.ToUpper();
            else
                r[c] = char.ToUpper(field[0]) + field.Substring(1);
        }
    }
}

但最好的方法是在dbms中进行。

UPPER(substring(Column1,1,1))

答案 1 :(得分:1)

foreach (var column in myTable.Columns.OfType<DataColumn>())
{
    string name = column.ColumnName;

    char[] chars = name.ToCharArray();
    chars[0] = char.ToUpper(chars[0]);

    column.ColumnName = new string(chars);
}

另一种选择:

 string name = column.ColumnName;
 column.ColumnName =  char.ToUpper(name.First()) 
                              + new string(name.Skip(1).ToArray());

答案 2 :(得分:0)

试试这个

string ToCamelCase(string input)
{
    string output = string.Empty;
    foreach (string word in input.Split(' '))
        output += word[0].ToString().ToUpper() + word.Substring(1) + " ";
    return output.Trim();
}

答案 3 :(得分:0)

你可以试试

foreach(var column in YourDataTable.Columns)
{
   var result = UppercaseFirst(column.ColumnName);
   Console.WriteLine(result);

   column.ColumnName = result;
}

方法

public string UppercaseFirst(string s)
{
    // Check for empty string.
    if (string.IsNullOrEmpty(s))
    {
        return string.Empty;
    }
    // Return char and concat substring.
    return char.ToUpper(s[0]) + s.Substring(1);
}

答案 4 :(得分:0)

如果我理解正确的问题

foreach (DataColumn column in myTable.Columns)
{
    column.ColumnName=UppercaseFirst(column.ColumnName);
}

static string UppercaseFirst(string s){
    // Check for empty string.
    if (string.IsNullOrEmpty(s))
    {
        return string.Empty;
    }
    // Return char and concat substring.
    return char.ToUpper(s[0]) + s.Substring(1);
}

使用大写第一句由DotNetPerls

提供