在我的应用程序中,我使用DataGridView来显示列表.当用户在datagridview中选择一条记录时,它应该在另一个面板中显示详细信息.为了选择,我被要求使用DataGridView1_SelectionChanged事件.
DataGridView应该只包含一列,但详细信息显示可能包含所选记录的更多信息(我们可以通过查询所选的主键值来获取数据库中的所有详细信息).
请告诉我是否可以获取所选DataGridView记录的datakey(主键).DataGridView是否会基于主键进行绑定?
编辑
我已经实现了DataGridView1.Columns ["ID"].Visible = false.它运作良好.为了选择,我添加了DataGridView1_SelectionChanged事件.
但DataGridView1_SelectionChanged事件多次触发.
我正在开发Windows应用程序.在这里,我需要在运行时在MS Access 2007中创建存储的查询.(即按下按钮),用于选择,插入,更新,删除,如何根据参数从表单调用查询?
cmmd.CommandText = "CREATE TABLE tblCustomers ([CustomerID] AUTOINCREMENT PRIMARY KEY, CustomerName Text(50), [CategoryID] Long REFERENCES tblCategories (CategoryID), [IsActive] YesNo, [ModifiedBy] Long REFERENCES tblUsers (UserID), [ModifiedDate] Date)";
cmmd.ExecuteNonQuery();
//Above Create table tblCustomers executed successfully,
cmmd.CommandText = @"CREATE PROCEDURE prAddCustmer (CustName Text(50), CatID Long, Inact No, ModBY Long, ModDate date ) AS INSERT INTO tblCustomers (CustomerName , CategoryID, Inactive, ModifiedBy, ModifiedDate) VALUES(CustName, [CatID], [Inac], [ModBy], [ModDate]);";
cmmd.ExecuteNonQuery();
//But got error in Create Procedure prAddCustomers, Please find error in the Stored …Run Code Online (Sandbox Code Playgroud) 请帮我在下面的语句中找到错误,我只是从代码中得到错误.
创建表语句
cmmd.CommandText = "CREATE TABLE Users([User_ID] AUTOINCREMENT PRIMARY KEY, UserName Text(50), UserPwdText(200), [IsActive] YesNo, [ModBy] Long REFERENCES Users (User_ID), [ModDate] Date)";
cmmd.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)
在数据库表中成功创建.
这里我通过代码插入值.
cmmd.CommandText = @"INSERT INTO Users ([UserName], [UserPwd], [IsActive], [ModBy],
[ModDate])VALUES('Admin','kov1ozyKAjas8awoej3oijhrqoi6q=', 'true', '1',
'Datetime.Now.Date')";
cmmd.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)
例外是
Data type mismatch in criteria expression