当前位置: 首页 > 面试题库 >

数据适配器与Sql命令

万博涛
2023-03-14
问题内容

在为ms-sql数据库执行插入语句中,哪一种更好:

SQL DataAdapter或SQL命令对象?

他们哪一个会更好,而inserting only one row同时inserting multiple rows

一个简单的代码用法示例:

SQL命令

string query = "insert into Table1(col1,col2,col3) values (@value1,@value2,@value3)";
int i;

SqlCommand cmd = new SqlCommand(query, connection);
// add parameters...
cmd.Parameters.Add("@value1",SqlDbType.VarChar).Value=txtBox1.Text;
cmd.Parameters.Add("@value2",SqlDbType.VarChar).Value=txtBox2.Text;
cmd.Parameters.Add("@value3",SqlDbType.VarChar).Value=txtBox3.Text;
cmd.con.open();
i = cmd.ExecuteNonQuery();
cmd.con.close();

SQL数据适配器

DataRow dr = dsTab.Tables["Table1"].NewRow();
DataSet dsTab = new DataSet("Table1");
SqlDataAdapter adp = new SqlDataAdapter("Select * from Table1", connection);
adp.Fill(dsTab, "Table1");
dr["col1"] = txtBox1.Text;
dr["col2"] = txtBox5.Text;    
dr["col3"] = "text";

dsTab.Tables["Table1"].Rows.Add(dr);

SqlCommandBuilder projectBuilder = new SqlCommandBuilder(adp);
DataSet newSet = dsTab.GetChanges(DataRowState.Added);
adp.Update(newSet, "Table1");

问题答案:

使用DataAdapters来更新数据源要容易得多。进行更改更容易,因为您只需修改DataSet并调用Update。

使用DataAdapters与Commands之间的性能可能没有(或几乎没有)差异。DataAdapter在内部使用Connection和Command对象并执行Command来执行您告诉他们执行的操作(例如Fill和Update),因此它与仅使用Command对象几乎相同。



 类似资料:
  • 问题内容: 我将数据从SQL获取到具有Fill的数据集。它只是一个具有两列(CategoryId(int)和CategoryName(varchar))的表。 当我在填充方法后查看数据集时,CategoryId Columns似乎是正确的。但是在CategoryName中,我有一个 System.Data.StrongTypingExceptio n。 那是什么意思呢? 有任何想法吗? 问题答案:

  • 我正在寻找在Android中使用列表适配器和Recyview适配器的区别。关于性能的任何不同,使用它们的利弊。

  • > 从创建的片段中更新,将新数据设置为adapter,然后调用;但没有奏效。 像其他人一样创建一个新适配器,它对他们起作用,但对我没有任何改变: 在中创建一个更新数据的方法,如下所示: 问题是gridView的布局如下所示: 然后我只是删除了并将作为父布局。

  • 试图弄清楚更新的适配器有什么问题。 在我得到一个新的产品列表后,我尝试: > 从创建的片段中更新,将新数据设置到adapter,然后调用;但没有奏效。 像其他人一样创建一个新适配器,它对他们有效,但对我没有任何改变: 在中创建一个更新数据的方法,如下所示: 然后每当我想要更新数据列表时,我就调用这个方法;但没有奏效。 检查是否可以以任何方式修改recyclerView,并且我尝试至少删除一个项目:

  • 问题内容: 我们有一个客户端将使用SQL Server 2012的AlwaysOn可用性功能。他们希望将BizTalk WCF-SQL端口连接到只读副本。 关于该主题的文档说必须与SQL Server 2012可用性组侦听器建立连接,并且该连接必须能够设置“ pplicationIntent”参数。这告诉SQLListener,该连接是只读的意图连接,应将其重定向到可读的辅助副本。没有该工作,将建

  • 又如何接收?谁来帮帮我。