【问题标题】:Recording time/date from C# windows application form is inserted into access database?将 C# windows 应用程序表单中的记录时间/日期插入到 access 数据库中?
【发布时间】:2014-01-23 09:02:41
【问题描述】:

我已经开发了一个 c# 基本表单,当我点击提交时,数据会被填充到数据库中,但我也希望一旦用户点击表单,时间和日期也会被填充到数据库中,以便知道他什么时候提交此表单。

谁能帮忙啊!!

下面是我到目前为止所做的任何事情的源代码。

namespace testing
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

    private void label1_Click(object sender, EventArgs e)
    {

    }

    private void label2_Click(object sender, EventArgs e)
    {

    }
    private void label3_Click(object sender, EventArgs e)
    {

    }

    private void textBox1_TextChanged(object sender, EventArgs e)
    {

    }

    private void textBox2_TextChanged(object sender, EventArgs e)
    {

    }
    private void textBox3_TextChanged(object sender, EventArgs e)
    {

    }

    private void submit_Click(object sender, EventArgs e)
    {


           OleDbConnection cnon = new OleDbConnection();
       cnon.ConnectionString =@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\visual_c\Database71.accdb";
       OleDbCommand command = new OleDbCommand();
       command.CommandText = "INSERT INTO electricity (Asset_name,Asset_number,Emp_id) VALUES (@Asset_name, @Asset_number,@Emp_id)";
           command.Parameters.AddWithValue("@Assetname", textBox1.Text);
           command.Parameters.AddWithValue("@Assetnumber", textBox2.Text);
           command.Parameters.AddWithValue("@emp_id", textBox3.Text);
       cnon.Open();
       command.Connection = cnon;
       command.ExecuteNonQuery();
       cnon.Close();

    }        
}

}

【问题讨论】:

标签: c# date ms-access time


【解决方案1】:

为什么不

   INSERT INTO electricity (Asset_name,Asset_number,Emp_id,timestamp) 
   VALUES (@Asset_name, @Asset_number,@Emp_id,now())

或者更好,只需在表中将时间戳字段的默认值设置为Now(),就不用担心了。

【讨论】:

  • 在Access中更改表可能是最好的解决方案
  • command.CommandText = "插入电力 (Asset_name,Asset_number,Emp_id,Timestamp) VALUES (@Asset_name, @Asset_number,@Emp_id,now())";这是我的声明,不幸的是它不起作用
  • 请去掉时间戳,你应该使用选项 2,见上图。你的sql是INSERT INTO electricity (Asset_name,Asset_number,Emp_id) VALUES (@Asset_name, @Asset_number,@Emp_id)"
  • @Remou-- 我已经将访问数据库时间戳列中的验证规则设置为现在。但是当通过 C# 表单在 Db 中输入字段时,它不会填充日期和白色
【解决方案2】:

你最好在电中声明一个新字段并将其默认值设置为 =now() 您无需修改​​代码。

【讨论】:

  • 你能解释一下吗
  • 如果您在电力中有这些字段:Asset_name,Asset_number,Emp_id,timestamp with timestamp default value now() 但您执行此插入:INSERT INTOelectrical (Asset_name,Asset_number,Emp_id) VALUES (@Asset_name , @Asset_number,@Emp_id) 时间戳字段将采用插入时的当前日期/时间
  • 我也这样做了,但是那个表格给出了新的错误!!当我在输入资产名称、资产编号、emp id 的文件后单击提交按钮时,它在 insert into statement 中给出语法错误错误,OleDb 连接未处理
猜你喜欢
  • 2012-05-01
  • 1970-01-01
  • 2022-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-23
相关资源
最近更新 更多