我创建了一个firebird名称 emp 的表格,我正在尝试使用 FbDataAdapter 将该表格中的所有数据转换为c#中的数据表。
但是在那个数据表中我只得到列名。我没有得到这些价值观。该表有3行。
DataTable dt = new DataTable();
FbDataAdapter adapter1 = new FbDataAdapter("select * from emp", con);
adapter1.Fill(dt);
用于从firebird中的emp表中读取数据的代码。但是在那张表中我有这些价值观:
但是在 dt 中它只显示那些列名:( :(为什么它的表现如此...... !!
然后我通过以下命令
将一些值插入到同一个数据库表中FbCommand cmd = new FbCommand("INSERT INTO emp VALUES ('11','X')", con);
int ds =cmd.ExecuteNonQuery();
然后当我再次在 dt 中看到它时,它只显示通过上述SQL查询插入的值。
答案 0 :(得分:0)
所有操作都在事务中完成,仅当事务已提交时,更改才会成为永久性且对其他事务可见。在您的ISQL屏幕截图中,您已插入项目,并在同一交易中选择 。但是,您尚未提交这些更改。这意味着1)它们对其他事务不可见,2)当你在没有提交的情况下退出isql时它们被“删除”。
在isql中插入项目后,您需要执行commit
,以便提交行并使其对其他事务(如C#应用程序中的事务)可见。