【问题标题】:Create new column in the table by accepting datepicker value as column name通过接受 datepicker 值作为列名在表中创建新列
【发布时间】:2016-09-08 12:25:30
【问题描述】:

我正在尝试使用 c# 和 Microsoft Visual Studio 创建 WinForm 会计应用程序。我想在表中创建一个新列。列名应从日期选择器中获取。

form1.cs

 private void button5_Click(object sender, EventArgs e)
    {

        CON.Open();
        SqlDataAdapter SDA = new SqlDataAdapter("alter table SAMPLETABLE add "+dateTimePicker1.Text + " VARCHAR[50]", CON);
        SDA.SelectCommand.ExecuteNonQuery();
        CON.Close();

        MessageBox.Show("CREATED SUCCESSFULLY");
    }

运行程序,报错

“Thursday 列的定义必须包含数据类型。”

【问题讨论】:

  • 注意代码中的 SQL 注入问题。
  • 将方括号替换为括号:varchar(50).
  • 运气不好,还是有同样的错误@AlexanderPetrov
  • 我在星期四之后看到引号。这就是错误的原因。下次显示完整的错误信息!
  • System.Data.dll 中发生了“System.Data.SqlClient.SqlException”类型的未处理异常附加信息:“Thursday”列的定义必须包含数据类型。@AlexanderPetrov

标签: c# winforms visual-studio datepicker


【解决方案1】:

您需要先向 DataTable 添加一列。

DataColumn myColumn = new DataColumn("ColumnName",System.DateTime);

然后填写...How to Bind specific Columns of a datatable to a datagridView?

然后在表格的开头插入该列:

myTable.Columns.Add(myColumn);
myColumn.SetOrdinal(0);// to put the column in position 0;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-13
    • 1970-01-01
    • 2013-05-11
    • 1970-01-01
    • 1970-01-01
    • 2021-06-25
    相关资源
    最近更新 更多