I have a multi-user app which consists of a Windows form (VS2008), and a SQL Express 2008 database. I'm already detecting if the dataset has changed before the user closes the form so I can prompt them to save their changes. What I'd like to do is to capture the changes they've made, and write them to a database table so that users can track all changes made to each record on the DB.What is the best way to grab hold of the data changes before they're written back to the DB and also grab the original records?
I have a need to assign values from my dataset to a variable but when i use string (which its normally text) and the item in that row of the dataset is empty it tells me that conversion from DBnull to string is not valid
So i have a DB with 3 tables. User Table with U_ID and U_Name, Class with C_ID, and C_Name and User_Class Table with U_ID and C_ID. Foreign keys are set.I want to display the classes associated with the selected user. The user is identified by their name. I know these are the two SQL statements I need to execute:SELECT U_ID FROM User WHERE U_Name = current_U_name
then SELECT C_ID FROM User_Class WHERE U_ID = current_U_ID then
I am using strongly typed dataset and have many tables in that. The problem is now I want to filter data from GetData() function which has a query like select * from table_name
How can I filter a particular table and distinct values from it. Also if I try to filter it return all column but rest have null values except the one I asked, so I cannot assign it as a datasource to a datagrid or combobox. How can I do this..
How to update combobox values coming from a dataset if I change the connection string. The connection string takes effect but doesn't update the dataset tied to the combobox.
I have assigned a column of values from an Excel file into a dataset.I am using the following code to check if the column header is empty:[code] However for some reason even if I have an empty column header in the Excel spreadsheet, it is automatically assigned a value within the dataset. For example if I blank out the third column header in Excel spreadsheet, the dataset assigns it as "F3" as its column header which is making the above code ineffective. Can anyone tell me how to prevent the dataset to automatically assign a value to its column header.
I have visual studio 2008 I have two different datasets that take values as "money". those datasets are in two different forms. I would like to collect each and every value of all different entries o the two datasets, and add them so that I can display the totals in a new form that has textboxes that displays the total of the two different datasets.
I have a textbox which is bounded to the typed dataset. If the user in the textbox &hit keydown, it should allow only numeric values with 2 decimal points and also it should not allow more than one "."(dot). I found many but all thats are using textbox event
it's possibly to bind the values in a combobox to a column in a dataset? If so, how would I go about doing it? For example, If I have a column named 'Names' in a DataSet, each comboBox item would be a name from that column.(There will only me at maximum, 10 entries)
In a WinForms app (VS2008 / .Net Framework 3.5) I bind data from SQL Server to controls. If there's a null value e.g. an employee has no middle name (allowed by business rules), when I browse that record at runtime an exception is thrown. So I code: If Not (row("middle_name") Is DbNull.Value then txtMiddleName.DataBindings.Add(New Binding("Text", row, "middle_name)). Say someone adds a middle name to this record, because the control had no databindings the dataset.HasChanges property is false and update stored proc doesn't run. I guess I could handle this like this: If txtMiddleName.Databindings.Count = 0 AndAlso txtMiddleName.Text <> "" Then row("middle_name") = txtMiddleName.Text. I guess I would have to do something similar to handle a value changing from not null to null.
I'm working with a zedgraph bar chart and displaying only certain values from a dataset. I have a dataset with 912 records. One field is called "DeviceName" and one is called "TimesOffline". I am able to bind the chart to the dataset, but it wants to plot all 912 records. What I need is to somehow sort the dataset to retrieve the top 10% (or something) devices with the highest number of times offline.
Trying to make a vb.net program that is able to read values from an access database and pass them into some data sets. Here is the code I have so far, with the error line between the two dotted lines:
My application waits for the user to click twice to draw a rectangle on an image, and use the rectangle to create a clone and save it. Then it restarts with the next rectangle. When I work on a large image (10800x7236) after a few cycles I get an out of memory error. but I still don't understand what's going on, and I would appreciate if some expert out there clarified why it didn't work before and it works now. This is the snippet executed after the user clicks twice, and fails after 5-6 cycles:
I currently have code that creates and inserts ~175,000 names into a table.
What is the quickest way to collect a random first and last name? So far I have tried, Reading from two text files where every name is one line it takes ~2:30 minutes Reading from a table with [first][last] columns takes ~4 minutes
I have a SQL server table that has a list of Usernames and a list of points ranging from 1 to 10,000.I want to display the number of points in my VB.NET program from the username given. For example, if I type in "john" in the first box the program will give me a message box saying whatever amount of points "john" has. I'm not really sure about
This is the Table Structure: Usernames Points -----------------------------
I have a class orderItem it is a parent of Product and service class Im adding product or services in a listcollection. How can I cast service or product for retrieving orderitem?
Public MustInherit Class OrderItem Private m_enuItemType As TypeOfItem = TypeOfItem.None Private m_strUserID As String = ""
I collect two sets of data from two different databases, This data is now in two collections. I then join/append the one collection to the other and then put it in to a list view.I really would like to order this list view by the first column without the click event.To make this even harder the First column contains Data that is DateTime and i have found that it orders the items by the day number and not the months or years or time.I have found one way but it then cause's me further agony when doing some checks upon the data within the listview later in my code. This answer is to rearrange the format to "yyyy-MM-dd HH:mm:SS" then using the listview.sorting = sortorder.
i want to create an application that collect data from the rs-232.Someone have a code example with multi rs-232 in thread .I have one pc that have mapping virtual com.
What I need to do is have my application check to see if the last hour that was inserted into the database table is equal to the current hour minus 1 hour when it runs. If it is not equal to the current hour -1 then it needs to go back and download the missing data automatically.
The hours go from 1 to 24 with midnight being the 24th hour as you'll see in my code. My problem is I don't know how to code what I'm trying to do.
Here is the current code:
Private Sub HourDownload() DeleteFileHour() If OneHour("C:abcd.pfx", "******") = True Then
I'm using the .NET SerialPort class to communicate with gauges. Every time a button on a gauge is pressed a reading value is sent over port. The problem I have is that if the gauge button is pressed while the program is off then when the program starts it fires the data received event for that existing data. I don't want this behavior -- I only want to collect readings done after the port is opened.
port = New SerialPort("COM1", 9600, Parity.None, 8, StopBits.One) port.Open() port.DtrEnable = True System.Threading.Thread.Sleep(100) port.ReadExisting() AddHandler port.DataReceived, AddressOf PortDataReceived
If I don't have the Thread.Sleep then the DataReceived event is fired for the previous gauge data. I'm guessing this is because the ReadExisting doesn't block and so when its called immediately after an open it just reads nothing. So if you call 'port.BytesToRead()' immediately after open its zero. If you call it 100ms after open its non-zero. I guess this makes sense -- it takes time after open to read the existing data. Another option is to call read and set the read timeout but that seems no different than Thread.Sleep except you have to catch an exception...
I have a windows app (2.0 framework) that's about 860k in size, just a small db app with a couple of data entry screens and a few reports (Cystal) I noticed that when the app starts the mem usage according to task manager is ~11,000k viewing just one report jumps the mem usage to 56,000k. i thought i could reclaim some of that memory by adding some GC.COLLECT() callls, but no luck. Mem usage stays the same in task manager.
So I made an even smaller test app with two forms....Form1 has two buttons , button1 Opens Form2, and button 2 calls GC.COLLECT()
From 2 contains a datagridview and 1 button. The form load for form2 executes the fill for the dataset that populates the datagridview and the button on Form 2 closes the form.
Here's the code for each form....
CODE:
No matter what I've tried so far I cannot seem to reclaim mem that gets used.
I am running into an issue with phrasing the following XML. I need to load the content into a object that is outline in the second code block. I am looking for all items to be Property flags within the Object.
I have an application (i've been working on for a long time) that has many tabs and controls and quite a few components And a good deal of design code. And a list box that has around 100k items (i had to put a loader to pass the 3-4 seconds while its loading to prevent it from not-responding)I had a few Gc.collect calls in specific places (mostly after many items are added or removed). When my application loads, i call GC.collect only once at the end of the load. The program consumes around 35K memory by the time its loaded. However, i decided to mess around abit (don't worry i made backups)First i started putting gc.collect in some random places, and to my surprise the memory upon loading was observably decreasing. Then I went ahead and put a macro that puts GC.Collect before every End Sub, Exit Function, Exit Sub, and Return value, there is. Basically every block in my application had atleat one GC.Collect. I fixed some 6 or 7 silly replace errors and compiled. When the program launched, the memory used at the end of launch was 21K!
At first glance that seemed great, but then i realized switching between tabs was VERY glitchy. and adding new lists took around 10x more time than usual (the loader stayed on for around 20 seconds!) And even though the memory looked good, the program was useless like this.Then i decided to mess around differently. I removed GC.Collect from the entire solution. It was no longer called even once.At first glance, when i launched the app it consumed just under 60K memory. That seemed terrible. However i realized something: even though my program in that state showed on taskmanager that it was consuming alot more memory than usual, it seemed like it was lighter than ever! Switching tabs was faster than before, especially every time i go to the tab that has the listbox control with 100k items. Loading items took around 3-4 seconds, but there was no stutter when the list finished loading whereas before it had an evident 0.3s stutter after the items were added.
This was all surprising to me because i thought GC.Collect was first of all, something that it doesnt matter where or how many times you call it. I thought it was just something that should be called at the end of work and i didnt think it would matter if it was called during work.Second of all, i thought GC.Collect only affected resources that are inaccessible, or resources my program is done with. How come the application feels faster when i don't call it?Third of all, i thought the VB CLR does most of the memory cleaning for me, and that GC.Collect was somewhat of a redundant command. It didn't seem so redundant to me at all considering the difference between using it heavily and not using it at all was around 38K in memory usage!
So i guess my questions are: 1) Do I need to call GC.Collect? WhereWhen do i call it?2) Why does calling it affect performance? And where does one draw the line between that memory stat on taskmanager and the program's performance?3) I also decided to run a small test. Why does a blank vb form application require 10K memory? How accurate is that stat shown on the task manager?
In my program; I need to collect a sequence of events in a variable of some sort. Each time the Sub is initiated, it should add one random event to the sequence (so that it gets longer each time) and then run through the sequence.This is rather difficult to express.What I'm trying to do, is create a Simon Says game with the four buttons.After the sequence goes through blinking the buttons, the program must then be able to capture the sequence of button presses by the user and match that to the sequence that the program ran.So, I need to be able to keep track of two sequences in a variable. Arrays?
I have a table on my SQL DB call ReportList which is a list of report. I need to go through that list and interrogate the reportserver, eport by report, to populate a table called ReportParameters. The ReportParameters table has a column for ReportOwnerID which needs to contains the ReportID value of the corresponding (owner) report as listed in the ReportList table.
It needs to work so:- I have a listbox of the reports as per REportList and a GridView that list all the parameters (uniquely - most of the parameters are common to many reports) the idea being that the parameters get set once and the report can be kicked off by selecting them in the ReportList CheckListBox and clicking on Execute. I would like it that as I click on a particular report in the ListView, the relevant parameters in the Gridview get a green background and those that do not apply are red. The leftmost column in the gridview contains tha Parameter NAME (not editable) and the next column must be editable to populate the value.
Done so far: I have tried on clicking the Execute button, to build a parameters string in a testbox and call that with the Javascript OpenReportWin() function when I open the report in a new window. This works fine, but my biggest issue it interrogating the reportserver reports to get back a list of parameters and dooping them into a table. I have tried to use a hidden DataGrid bound to a ds onto the reportParamaters table.
I have tried to populate it using a datalist but I cannot get the hang of these thionsg and its looking messy. Their must be a simple clean way of getting the .GetParameters resultset back from the report server and populating the table without having to create a reportviewer object and cycling through the list of reports - it then has to render each report before you can get that list out.