标签: dataadapter

如何将DataAdapter与存储过程和参数一起使用

我想使用DataAdapter填充DataGridView控件.但我不知道怎么做,因为我正在使用带参数的存储过程.有人能引用一个例子吗?

c# stored-procedures dataadapter

34
推荐指数
2
解决办法
16万
查看次数

Android - adapter.notifyDataSetInvalidated有什么作用?

adapter.notifyDataSetInvalidated()方法完成了什么?没有关于它的文档.

我试图重新加载ListView和notifyDataSetChanged或notifyDataSetInvalidated似乎没有完成任何事情.

android dataadapter

29
推荐指数
3
解决办法
2万
查看次数

在ASP.NET中异步填充DataSet或DataTable的最佳实践是什么?

鉴于以下代码,我有一些关于最佳实践的问题:

string connectionString = @"Server=(local)\sqlexpress; Database=master; Integrated Security=true;";

using (SqlConnection connection = new SqlConnection(connectionString))
{
    using (SqlDataAdapter dataAdapter = new SqlDataAdapter("select * from information_schema.columns", connection))
    {
        await connection.OpenAsync();

        DataTable dataTable = new DataTable();
        await Task.Run(() => dataAdapter.Fill(dataTable));
        return dataTable;
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经看到几个示例在Task.Run()调用中包装整个代码块,但我不确定这是否比仅为DataAdapter.Fill()方法调用Task.Run()更好更灵活和特定(仅使用等待异步任务).

在Fill()方法上调用Task.Run()的方法比包装整个代码块更好吗?

在Task.Run()中调用Fill()有任何负面的副作用吗?如果Fill()有错误,我正在考虑丢失调用堆栈和/或异常信息的问题.

有没有更好的方法在ASP.NET中编写它?

c# ado.net asynchronous dataadapter

12
推荐指数
1
解决办法
8365
查看次数

DataAdapter.Update()不更新数据库

我确信有一个非常简单的原因,这一行不起作用,但它已经回避了过去一周,所以我希望别人会注意到我的错.

我已经在这个项目上工作了几个星期到一个月.我一直在使用旧的DataAdapter,CommandBuiler等与1个数据库上的一些linq到sql编码的混合,具有多个Windows应用程序表单.此特定表单使用DataAdapter,Dataset和Command Builder从数据库编辑或删除行.它一直工作正常,直到我切换电脑.现在数据集正在更新,但数据库不是.

以下是此表单的完整代码:

private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
    if (MessageBox.Show("Exit Cook Book?", "Exit?", MessageBoxButtons.OKCancel) == DialogResult.OK)
    {
        Application.Exit();
    }
}

private void goBackToolStripMenuItem_Click(object sender, EventArgs e)
{
    AddRecipe goBack = new AddRecipe();

    Close();
    goBack.Show();
}

private void helpToolStripMenuItem_Click(object sender, EventArgs e)
{
    MessageBox.Show("Scan through the Cook Book to find recipes that you wish to edit or delete.", "Help!");
}

SqlConnection con;
SqlDataAdapter dataAdapt;
DataSet dataRecipe;
SqlCommandBuilder cb;

int MaxRows = 0;
int inc = 0;


private void …
Run Code Online (Sandbox Code Playgroud)

c# database dataadapter

10
推荐指数
2
解决办法
4万
查看次数

填充数据表时,datareader是否比数据集更快?

哪个会更快.

1)循环datareader并基于填充的数据表创建自定义行和列

2)或者创建一个dataAdapter对象并且只是(填充)一个数据表.

在动态创建数据表时,数据加载器的性能是否仍然适用?

.net datatable performance datareader dataadapter

9
推荐指数
3
解决办法
2万
查看次数

C#SQL数据适配器System.Data.StrongTypingException

我使用Fill从SQL获取数据到Dataset.它只是一个包含两列的表(CategoryId(int)和CategoryName(varchar)).

当我在填充方法后查看我的数据集时,CategoryId列似乎是正确的.但在CategoryName中我有一个System.Data.StrongTypingExceptio n.

这意味着什么?

有任何想法吗?

c# sql ado.net dataset dataadapter

8
推荐指数
1
解决办法
7724
查看次数

SQLiteDatabase.openDatabase与SQLiteOpenHelper.getReadableDatabase

这两种方法有什么区别吗?两者都返回一个打开的SQLiteDatabase.如果不存在,则两者都可以创建数据库.当需要读/写时,SQLiteOpenHelper也有getWriteableDatabase ...

我应该使用哪种方法?基于我见过的示例代码,我首先使用SQLiteOpenHelper创建我的数据库,但在需要使用数据库时调用SQLiteDatabase.openDatabase.

sqlite android dataadapter sqliteopenhelper

7
推荐指数
1
解决办法
3964
查看次数

使用对DataTable所做的更改来更新数据库...混淆

如果我用DataTable填充DataTable,DataAdapter.Fill(DataTable);然后用这样简单的东西对DataTable中的行进行更改:DataTable.Rows[0]["Name"] = "New Name";如何轻松地将这些更改保存回数据库?我以为我可以打电话DataAdapter.Update(DataTable);但我读过它只适用于TableAdapter(?).

c# datatable dataadapter

7
推荐指数
1
解决办法
3万
查看次数

C#DataAdapter和DataSet有多个表

我从许多地方读过,可以使用DataAdapter使用多个表填充DataSet.它也没有说明单个Update调用是否可以更新DataSet中的所有表.

有人可以帮我弄清楚如何做到这一点?

似乎除了在第二次填充之前更改DataAdapter上的SelectCommand的示例之外,没有任何(我尝试在线查找)示例.但我觉得这种方法违背了DataAdapter的目的.

从我的数据来看,也许单个DataAdapter只能处理单个数据库表,而Update只能在该表上运行.因此,多表DataSet将要求各自的DataAdapter调用其Update以完全更新DataSet.是这样的吗?

最后,外键关系和约束会自动保存在DataSet(级联删除,级联更新)中吗?

也许链接到示例或教程可能会有所帮助.非常感谢!

c# dataset dataadapter

6
推荐指数
2
解决办法
3万
查看次数

DataAdapter不需要打开数据库连接吗?

我尝试在C#.net中使用DataAdapter.我仍然不了解DataAdapter.

我阅读了很多关于DataAdapter和DataReader的文章和博客.

我了解DataAdapter会在需要时自动打开和关闭数据库.

但,

//conn.Open();
AdsDataAdapter da;
da = new AdsDataAdapter("Select * from Test", conn);
AdsCommandBuilder cb;
cb = new AdsCommandBuilder(da);

DataSet ds = new DataSet();
da.Fill(ds, "Test");

DataRow newrow = ds.Tables["Test"].NewRow();
newrow["Name"] = "How about";
ds.Tables["Test"].Rows.Add(newrow);
da.Update(ds, "Test");
Run Code Online (Sandbox Code Playgroud)

当我运行上面的代码时,我收到一条错误消息,提示"连接必须打开".

为什么适配器无法自动打开连接?

并且,我想使用insertCommand插入数据(对于此测试,我打开了连接).

da.InsertCommand = new AdsCommand("INSERT INTO test (NAME) values('Insert Test #1')", conn);
//da.InsertCommand.ExecuteNonQuery(); // it works
da.Update(ds,"Test"); //but it does not works.
Run Code Online (Sandbox Code Playgroud)

很多例子使用Adapter.Update(),但对我来说,它不起作用:(

没有错误,也没有插入.

并使用da.InsertCommand.ExecuteNonQuery(); 而不是Update(),它的工作原理.

我究竟做错了什么?

谢谢!

c# asp.net advantage-database-server dataadapter

6
推荐指数
1
解决办法
1万
查看次数