刷新数据集 - 请帮帮我:-( [英] Refresh DataSet - please Help Me :-(

查看:54
本文介绍了刷新数据集 - 请帮帮我:-(的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我放弃...我无法刷新datagrid(数据集)


我有datagrid = dgrPaczki

datagrid的数据源= DataSetPaczki1 .PACZKI_PAKOWALNIA(原谅我波兰语单词)

Dataadapter填充我的DataSetPaczki1 = adaPaczki

Dataadapter选择用户定义函数返回的行= PACZKI_Z_AKCJI

To从该函数中选择行使用sqlCommand = comPaczki


我将解释它是如何工作的:


首先:sqlCommand(comPaczki):

Me.comPaczki = New System.Data.SqlClient.SqlCommand

Me.comPaczki.Connection = Me.SqlConnection1

Me.comPaczki.Parameters.Add (New System.Data.SqlClient.SqlParameter(" @ AKCJA_ID",... ..Int,...," 0"))

Me.comPaczki.Parameters.Add(New System.Data.SqlClient.SqlParameter(" @ DATA_OD",... S mallDateTime ..,""))

Me.comPaczki.Parameters.Add(New System.Data.SqlClient .SqlParameter(QUOT; @DAT A_DO",... S mallDateTime ..,""))

Dim strSQL As String - (这是DataAdapter的SelectCommand)

strSQL =" SELECT * FROM" &安培; " PACZKI_Z_AKCJI" &安培; "(@ AKCJA_ID,@ DATA_OD,@ DATA_DO)"

当我点击按钮然后dataadapter填充数据集:


Me.adaPaczki.SelectCommand = Me .comPaczki


Me.comPaczki.Parameters(0).Value = cmbAkcja.SelectedValue

Me.comPaczki.Parameters(1).Value = datOd.Value

Me.comPaczki.Parameters(2).Value = datDo.Value


DataSetPaczki1.PACZKI_PAKOWALNIA.Clear()

adaPaczki .Fill(DataSetPaczki1,PACZKI_PAKOWALNIA)

(然后是tablestyle的代码 - 隐藏了一些列,更改了colums的大小......但我认为这不是问题)


----------------------------------------- -

现在会出现问题

--------------------------- ----------------


一切正常 - 我可以点击按钮,数据网格总是显示行。

我可以从comPaczki更改参数(例如startDate和endDate)。

它总是填充数据网格。


但是......


我有命令允许用户向SQL数据库添加新行。

它也很好用。没有错误。

当我签入MS SQL时 - 添加了新行。


但是......


之后我清除DataSet。

DataSetPaczki1.PACZKI_PAKOWALNIA.Clear()


然后我再次填充dataadapter。

adaPaczki。填充(DataSetPaczki1,PACZKI_PAKOWALNIA)


它显示旧行!!

:-(


为什么......?为什么...... :-(


请帮助我。

我浪费了第三天。

我检查了很多页面和论坛......

无解决方案。

I GIVE UP...I can''t refresh datagrid (dataset)

I have datagrid = dgrPaczki
Datasource of that datagrid = DataSetPaczki1.PACZKI_PAKOWALNIA (forgive me Polish words)
Dataadapter which fills my DataSetPaczki1 = adaPaczki
Dataadapter selects rows returned by user defined function = PACZKI_Z_AKCJI
To select rows from that function it uses sqlCommand = comPaczki

I will explain how it works:

First : sqlCommand (comPaczki):
Me.comPaczki = New System.Data.SqlClient.SqlCommand
Me.comPaczki.Connection = Me.SqlConnection1
Me.comPaczki.Parameters.Add(New System.Data.SqlClient.SqlParameter("@AKCJA_ID",... ..Int,..., "0"))
Me.comPaczki.Parameters.Add(New System.Data.SqlClient.SqlParameter("@DATA_OD",...S mallDateTime.., ""))
Me.comPaczki.Parameters.Add(New System.Data.SqlClient.SqlParameter("@DATA_DO",...S mallDateTime.., ""))

Dim strSQL As String - (this is SelectCommand for DataAdapter)
strSQL = "SELECT * FROM " & "PACZKI_Z_AKCJI" & "(@AKCJA_ID,@DATA_OD,@DATA_DO)"
When I click button then dataadapter fills dataset:

Me.adaPaczki.SelectCommand = Me.comPaczki

Me.comPaczki.Parameters(0).Value = cmbAkcja.SelectedValue
Me.comPaczki.Parameters(1).Value = datOd.Value
Me.comPaczki.Parameters(2).Value = datDo.Value

DataSetPaczki1.PACZKI_PAKOWALNIA.Clear()
adaPaczki.Fill(DataSetPaczki1, "PACZKI_PAKOWALNIA")
(and then is code for tablestyle - which hides some columns, changes size of colums... but I think it is not a problem)

-------------------------------------------
NOW WILL BE A PROBLEM
-------------------------------------------

Everything works fine - I can hit the button and datagrid shows always rows.
I can change the parameters from comPaczki (for example startDate and endDate).
And it always fills the datagrid.

But...

I have command which allows user to add new row to SQL database.
It works also fine. No errors.
When I check in MS SQL - new row is added.

But...

After that I clear DataSet.
DataSetPaczki1.PACZKI_PAKOWALNIA.Clear()

Then I fill dataadapter again.
adaPaczki.Fill(DataSetPaczki1, "PACZKI_PAKOWALNIA")

And it shows old rows!!
:-(

Why...? Why... :-(

Please help me.
I am wasting third day for that.
I have checked so many pages and forums...
No solution.

推荐答案

Chreo,


你可以尝试在填充后设置datagrid.datasource = nothing和

再次

datagrid.datasource = DataSet.packets .gluepackets


Cor
Chreo,

Can you try to set after your fill the datagrid.datasource = nothing and
than again
datagrid.datasource = DataSet.packets.gluepackets

Cor


好的......我做到了......

但仍然是同样的问题。


但是我找到了一些东西。

我只有一个数据适配器。

我添加了第二个dataadapter。


在向数据库添加一行后,我使用第二个dataadapter来填充数据集。

但是当我添加另一行时到数据库并再次使用第二个dataadapter然后

它不起作用。


所以我还有问题,

我可以在我的表单中添加1000个数据适配器,并且在数据库中的每次更改之后

使用另一个dataadapter。 :)


也许我可以删除每次使用相同的dataadapter并再次创建它?

我试图这样做但它不起作用。


是否有可能在dataadapter中保存旧值(旧行)?

我以为行保存在其他地方(数据集?)

但我早些时候写过 - 即使我清理数据集 - 旧行返回。

但是如果我使用新的dataadapter来填充数据集 - 它可以工作......


但是如何每天都使用相同的DATAADAPTER? :-(

U?ytkownik" Cor Ligthert"< no ************ @ planet.nl> napisa3 w wiadomo?ci

news:uy ************** @ TK2MSFTNGP10.phx.gbl ...
Ok... I did it...
But still is the same problem.

But I found something.
I had only one dataadapter.
I added second dataadapter.

And after adding a row to database I use second dataadapter to fill dataset.
But when I add another row to database and use again second dataadapter then
it doesn''t work.

So I still have a problem,
I can add 1000 dataadapters to my form and after every change in database
use another dataadapter. :)

Maybe I can delete everytime the same dataadapter and create it again?
I am trying to do this but it doesn''t work.

Is it possible that old values (old rows) are saved in dataadapter?
I thought that rows are saved in some other place (dataset?)
But I wrote that earlier - even if I cleat dataset - old rows come back.
But if I use new dataadapter to fill dataset - it works...

BUT HOW TO USE THE SAME DATAADAPTER EVERYTIME? :-(
U?ytkownik "Cor Ligthert" <no************@planet.nl> napisa3 w wiadomo?ci
news:uy**************@TK2MSFTNGP10.phx.gbl...
Chreo,

你能试试吗?填充后设置datagrid.datasource =没有比
再次
datagrid.datasource = DataSet.packets.gluepackets

Cor
Chreo,

Can you try to set after your fill the datagrid.datasource = nothing and
than again
datagrid.datasource = DataSet.packets.gluepackets

Cor


Chreo,


您编写第一个SQL命令。您是否可能添加比您更多的参数

想和因此它是第二个填充参数4,5,6等,而

1,2和3仍然没有变化?


只是一个想法,


Cor
Chreo,

You write first SQL command. Are you maybe adding more parameters than you
think and therefore is it with the second fill parameter 4,5,6 etc, while
1,2 and 3 are still unchanged?

Just a thought,

Cor


这篇关于刷新数据集 - 请帮帮我:-(的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆