Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Cannot update textbox
Message
 
To
22/09/2002 01:42:08
General information
Forum:
ASP.NET
Category:
Other
Miscellaneous
Thread ID:
00703115
Message ID:
00703211
Views:
14
Thanks, Bonnie, your responses have led me to a solution. The "Beginedit" and ".endedit" functions placed appropriately work, and I will make use of the other techniques as needed. In a complex binding like a datagrid the dataAdapter.Update() works, but on a simple binding I needed to do the housekeeping (although this is a huge ommission in the examples from MS.) Which is why the code worked as long as there was a datagrid on the form and failed when I removed it.

By the way, I found the newsgroup:
microsoft.public.dotnet.framework.windowsforms.databinding.
and on it there was a lot of traffic on the same thing I asked about.

I am trying to create a data entry form base class using connection and dataAdapter classes. I'm brand new at this, so the simple stuff is often what I am missing.

Thank you so much for your assistance.

Don Meuse



>Sorry Don ... you mentioned that it worked fine when you were using a grid, so I assumed that you already had code for the update. I guess it depends on how you're doing stuff or plan to do stuff ... IOW, you can update by calling a SP with a SqlCommand.ExecuteNonQuery() after manually setting the parameters that your SP requires. Or ...you can rely on the DataAdapter.Update() to handle all that for you (actually, when you let the DataAdapter do it for you, there's a few extra things you have to do to set it up ... not having really done that myself, I don't think I'll post any code for that). But, they way we've done it with rolling-our-own update is like this:
>
>
>SqlCommand sc = new SqlCommand("MyUpdateSP", this.oConnection);
>sc.CommandType = CommandType.StoredProcedure;
>sc.Parameters.Add("@MyParameter", MyParmValue);
>sc.ExecuteNonQuery();
>
>
>HTH,
>~~Bonnie
>
>
>>Thanks Bonnie, I'm working on it now. I've easily converted it to VB, but still nothing is saved.
>>
>>In the last lines of your sample you include:
>>
>> ds = oData.GetChanges();
>>> // code follows to handle the updates
>>
>>Well the code to handle the updates is excatly what I'm looking for. I would LOVE to see how you are handling that - in C# or any other .Net language!
>>
>>Up to that point all my code works. But the update itself continues to fail.
>>
>>Thanks
>>Do
>>
>>>Don,
>>>
>>>Not 100% sure, but perhaps you need to issue an EndEdit() for the dataset row. (Hopefully that's the same syntax in VB ... I use C#). Some controls don't seem to automatically do that and others do. I have a call in my Save() method that generically spins through each row in each table in the dataset and issues an EndEdit(). I posted this code in another thread, but it's easier for me to just post it again instead of trying to find the other thread. It goes like this (this is C#, you'll have to substitute the correct VB code):
>>>
>>>
>>>private void EndTheEdit(DataSet ds)
>>>{
>>>  for (int nTable = 0; nTable < ds.Tables.Count; nTable++)
>>>  {
>>>    for (int nRow = 0; nRow < ds.Tables[nTable].Rows.Count; nRow++)
>>>    {
>>>      if (ds.Tables[nTable].Rows[nRow].HasVersion(DataRowVersion.Proposed))
>>>        ds.Tables[nTable].Rows.[nRow].EndEdit;
>>>    }
>>>  }
>>>}
>>>
>>>
>>>Call this method from your Save() method, like this:
>>>
>>>
>>>private bool Save()
>>>{
>>>  DataSet ds;
>>>  this.EndTheEdit(this.oData);
>>>  if (this.oData.HasChanges())
>>>  {
>>>    ds = oData.GetChanges();
>>>    // code follows to handle the updates
>>>  }
>>>}
>>>
>>>
>>>Sorry to post this in C#, but if I tried to translate it to VB, I'd probably miss something somewhere since I'm not familiar at all with VB. Of course, this may not even be what your problem is, but I'm guessing it might have something to do with it.
>>>
>>>HTH,
>>>~~Bonnie
>>>
>>>
>>>
>>>>I am learning VB.net, I am an experience VFP programmer.
>>>>
>>>>I cannot get a text box bound to a dataset field to update properly.
>>>>
>>>>For example, I create the simple Windows form sample based on the Walkthrough, with a grid and a sqlDataAdapter, and it works fine, updates fine.
>>>>
>>>>I add a textbox to the same form, select "ds1.Companyname" from the Text dropdown. It populates fine on startup. When I type a different name in the text box, then click on the grid, the grid field changes to the new value, and I can update everything fine.
>>>>
>>>>Now I remove the grid and nothing will update. I build the form from scratch and spend several hours on this, to no avail.
>>>>
>>>>Can someone help me with updating from textboxes instead of a grid? When I check the dataset value on tracing, it is changing and shows the new value. Where is the reference I need to read?
>>>>
>>>>Thanks,
>>>>Don Meuse
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform