在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..
}
提前致谢!
答案 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
提供