0

在 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..
}

提前致谢!

4

5 回答 5

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))
于 2012-09-26T09:05:05.263 回答
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());
于 2012-09-26T09:03:11.347 回答
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);
}
于 2012-09-26T09:03:22.877 回答
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提供的 UppercaseFirst

于 2012-09-26T09:03:55.300 回答
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();
}
于 2012-09-26T09:01:04.143 回答