sql - 添加新行 datagridview 以使用默认值

标签 sql visual-studio tsql data-binding

我有以下创建表并毫无问题地插入第一行数据的 SQL。默认 DateTime 值也按预期插入。

CREATE TABLE Jobs (
[Id]       int PRIMARY KEY IDENTITY(1,1),
[JobName]      nvarchar(256) Default 'SomeName', 
[CreateDate]     DateTime DEFAULT GETDATE(),
[ModifyDate]     DateTime DEFAULT GETDATE(),
[LastOpenDate]     DateTime DEFAULT GETDATE(),
[CreatedByUser]     nvarchar(64) Default 'SomeUser',
[Title]       nvarchar(256) Default 'SomeTitle')
GO
INSERT INTO Jobs (JobName)
VALUES ('NewName')
GO

在 Visual Studio 2008 中,我使用 DataGridView 和 BindingNavigator 控件。当我添加新行时,不会插入默认值,而是插入空值。我认为这与控件有关,但不确定如何获取要使用的默认值。

有什么想法吗?

谢谢

最佳答案

您可以 set the default values for the Datagridview在 DefaultValuesNeeded 事件上

例如:

private void dataGridView1_DefaultValuesNeeded(object sender,
    System.Windows.Forms.DataGridViewRowEventArgs e)
{
    e.Row.Cells["Region"].Value = "WA";
    e.Row.Cells["City"].Value = "Redmond";
    e.Row.Cells["PostalCode"].Value = "98052-6399";
    e.Row.Cells["Region"].Value = "NA";
    e.Row.Cells["Country"].Value = "USA";
    e.Row.Cells["CustomerID"].Value = NewCustomerId();
} 

关于sql - 添加新行 datagridview 以使用默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1599846/

相关文章:

.net - 在存储过程中编写动态查询有什么意义

sql - 给定一列有效日期,是否有 SQL 语句可以将其转换为日期范围?

sql - 对多个表使用 NOT IN

c++ - 在 macOS 上的 Visual Studio 中创建 C++ 控制台应用程序

C++抽象类无法实例化

sql - 无法使用 "Select TOP @Count ..."

sql - 如何在T-SQL中声明可为空的局部变量?

sql - 使用变量与文字时远程查询速度很慢

sql - 如何使用 Postgres 中的 CSV 文件中的值更新选定的行?

visual-studio - 如何在 VS2012 的 TFS 中更改文件关联?