即时通讯正在做一个C#的Windows窗体应用程序。我希望你首先了解一些事情。我正在使用本地访问数据库。我一直试图从AccessDB中将月份转换为MonthName。那么我已经尝试使用DATENAME函数,但它无法正常工作。所以我想如果我可以编辑dataTable之前它被放入到显示的datGridView。请帮助我。请看看编码。如何在数据表显示到dataGridView之前编辑dataTable中的数据?
private void button3_Click(object sender, EventArgs e) // display amount havent cleared the month yet
{
sum.Visible = true;
// 1
// Open connection\
string companyName = comboBox1.Text;
string connectionString = null;
OleDbConnection conn = null;
connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DPE2.mdb;";
conn = new OleDbConnection(connectionString);
{
conn.Open();
//
// Create new DataAdapter
using (OleDbDataAdapter a = new OleDbDataAdapter(
"SELECT MONTH(Date) AS [Month], SUM(Amount) AS [Amount] FROM Statements Where Customer_name ='" + companyName + "' group By MONTH(Date)", conn))
{
// 3
// Use DataAdapter to fill DataTable
DataTable t = new DataTable();
a.Fill(t);
// 4
// Render data onto the screen
dataGridView3.DataSource = t;
}
int z = 0;
while (z < dataGridView3.Rows.Count)
{
string data = dataGridView3.Rows[z].Cells[0].ToString();
switch (data)
{
case "1":
dataGridView3.Rows[z].Cells[0].Equals("Jan");
break;
case "2":
dataGridView3.Rows[z].Cells[0].Value = "Feb";
break;
case "3":
dataGridView3.Rows[z].Cells[0].Value = "Mar";
break;
case "4":
dataGridView3.Rows[z].Cells[0].Value = "April";
break;
case "5":
dataGridView3.Rows[z].Cells[0].Value = "May";
break;
case "6":
dataGridView3.Rows[z].Cells[0].Value = "June";
break;
case "7":
dataGridView3.Rows[z].Cells[0].Value = "July";
break;
case "8":
dataGridView3.Rows[z].Cells[0].Value = "August";
break;
case "9":
dataGridView3.Rows[z].Cells[0].Value = "September";
break;
case "10":
dataGridView3.Rows[z].Cells[0].Value = "October";
break;
case "11":
dataGridView3.Rows[z].Cells[0].Value = "Novemeber";
break;
case "12":
dataGridView3.Rows[z].Cells[0].Value = "December";
break;
}
z++;
}
}
}
它显示了未定义的函数'con vert'表达式中。是否因为Access数据库拥有自己的一组SQL语句和表达式。感谢回复。 – user3139492 2014-10-01 03:34:20
我想给我留下第二个选项,即添加一个额外的列 – user3139492 2014-10-01 03:35:04