|
You question is a typical example of "id" as value versus "name" as display, id is unique and is the primary key of a database table but name is the description and not unique. It is unreasonable to remember ids, and it is error prone to type names. Solution is to have a combo box populated with ids as value and the corresponding names as text. User will only see list of names in the combo box for their selection, when selected, your program will then capture the value that is the id of the selected name.
In C#, you can create a combox box whose ValueMember = "id" and DisplayMember ="name" and add this combo box to a datagridview column.
In this way, users neither have to remember ids nor names, and no typo either.
|
|
|
|
|
Dear Sir Peter,
Thank you for quick and response with a detailed information.
I just saw your post today. Sir, I know that we can use a combobox's ValueMember and DisplayMember property to do the task..
But in combobox, user cannot type the name of the product. The user has to select if from the long list which consumes time.
What I wanted to do is that a user types few letters, the suggestion should appear and then he can select it and press enter and its ID stored in the Column.
But now I have done it myself, I had to define a use control and used it in the Grid.
Thankyou everbody once again.
Dinesh
|
|
|
|
|
Well done. Best new year wishes to you.
|
|
|
|
|
Thank You Sir.. Wish u Happy New Year
Dinesh
|
|
|
|
|
Hello
i need your help in something.
I have a DataBase. I need to search it, If found, i want to display the record into my textboxes and comboboxes.
This is my code. it works with no errors. But i don't know how to display the data from SQL into my form.
Private Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.Click
If CheckBox1.Checked = True Then
Dim strconnection As String = "Data Source=ELIANE-VAIO\SQLEXPRESS;Initial Catalog=SchoolDB;Integrated Security=True;"
Dim _cn As SqlConnection = New SqlConnection(strconnection)
Dim cmd As New SqlCommand
Dim cmd1 As New SqlCommand
_cn.Open()
cmd.Connection = _cn
Dim r As DataGridViewRow
For Each r In Form1.DataGridView1.Rows
cmd.CommandText = "select * from StudentInfo where Code = <a href="/Members/t1">@t1</a>; "
cmd.ExecuteNonQuery()
Next
If MessageBox.Show("Record Found. Do you want to display the record in the textboxes?", "Found", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) = DialogResult.No Then
MsgBox("Display Cancelled")
Exit Sub
Else
MsgBox(":)")
End If
End If
End Sub
Thank you in advance
|
|
|
|
|
A select statement is actually a query, so you wouldn't use ExecuteNonQuery. What I would tend to use, in this case, would be a SqlDataReader. You can find a sample of how to use it here[^].
|
|
|
|
|
Hello everyone!
So nice to b back. Last time was about 10 years ago!!!
So, to the point...
We are working on webapp that has different branches and so on...
the issue is that once a developer is on branch A and modifies the webconfig for the debug mode most of the time he/she checks in that webconfig by mistake and the same (now wrong) webconfig ends up on our release branch...
the main idea is to apply the transformation on a debug mode... but it is not happening...
Any idea?
Kind regards.
Leo.
|
|
|
|
|
Sorry, I don't you what you want.
|
|
|
|
|
About the issue we are having, its basically that we cant run the debug with the right
webconfig transformations. Lets say we have envrionment A, and this same environment uses its own
webconnections and so on; the same thing with environment B. When we run the debug (f5) lets say for environment A, the page is not loading the webtransform for env A.
How can we run debug with the right webconfig without the need to change the "main" webconfig but rather changing the webtransforms?
Kind regards,
Leo.
|
|
|
|
|
Desvariovsk wrote: the issue is that once a developer is on branch A and modifies the webconfig for the debug mode most of the time he/she checks in that webconfig by mistake and the same (now wrong) webconfig ends up on our release branch... The web.config is copied from the source-folder to the output-folder when you build the project?
Could you modify the version in the output directory, using a postbuild-command in the VS-IDE? It may require a bit of coding, but I think that it should be possible to modify the XML using a console-application, launched after each build (to create the personalized version in the output folder, meaning that the one in the source-folder would be untouched, and hence, the version in your code-repository would not be checked out).
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Hi all, I'm new in VB .NET and need some support.
I have a problem in refreshing the data into the DGV after someone updated the database (access 2007) that feed it.
Even if I checked a lot before, I can't find the solution for it.
The main problem is that I have code automatically added by Visual Studio 2012 (VS 2012) not directly into the form form1.vb. I mean, it have been added into the Form1.Designer.vb, and for that reason I can't find the way to manage it.
(I made the data binding with the DB through the facility "DataGridView Tasks" after creating the connection with the "Add New Data Source" wizard.)
I have the following code into a button "Refresh" in form1.vb (code moved from the "load" sub):
Me._08_AssetMngTableAdapter.Fill(Me.RFIdSSI_2DataSet._08_AssetMng)
Into the form1.Designer.vb VS2012 added the following:
'grdDataGridView
'
Me.grdDataGridView.AutoGenerateColumns = False
Me.grdDataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.grdDataGridView.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.IDDataGridViewTextBoxColumn, Me.AssetDataGridViewTextBoxColumn, Me.AssetPosDataGridViewTextBoxColumn, Me.AssetTAGDataGridViewTextBoxColumn, Me.TblTrasponderTagIdDataGridViewTextBoxColumn, Me.ClassIdDataGridViewTextBoxColumn, Me.ClassTypeDataGridViewTextBoxColumn, Me.ColorDataGridViewTextBoxColumn, Me.WingDataGridViewTextBoxColumn, Me.WingCodeDataGridViewTextBoxColumn, Me.FloorDataGridViewTextBoxColumn, Me.RoomIdDataGridViewTextBoxColumn, Me.TblTagAssignedTagIdDataGridViewTextBoxColumn, Me.AssignedDataGridViewCheckBoxColumn, Me.TagDSFIDDataGridViewTextBoxColumn, Me.TagAFIDataGridViewTextBoxColumn, Me.TagEnterDataGridViewTextBoxColumn, Me.TypeImgDataGridViewTextBoxColumn, Me.TypeDescDataGridViewTextBoxColumn, Me.PosRowDataGridViewTextBoxColumn, Me.PosColumnDataGridViewTextBoxColumn})
Me.grdDataGridView.DataSource = Me.AssetMngBindingSource
Me.grdDataGridView.Location = New System.Drawing.Point(12, 396)
Me.grdDataGridView.Name = "grdDataGridView"
Me.grdDataGridView.Size = New System.Drawing.Size(772, 89)
Me.grdDataGridView.TabIndex = 24
Me.AssetMngBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.RFIdSSI_2DataSet = New RFIdSSI.RFIdSSI_2DataSet()
Me._08_AssetMngTableAdapter = New RFIdSSI.RFIdSSI_2DataSetTableAdapters._08_AssetMngTableAdapter()
CType(Me.grdDataGridView, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.AssetMngBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RFIdSSI_2DataSet, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
I've tried to re-bind the data without success, adding into the "Refresh" sub the code extracted from the form1.Designer.vb
The code works fine and load the data correctly, but I have to exit to re-load (refresh) it
Thank in advance
|
|
|
|
|
|
Hello everyone. I have been trying for a while to save records to sql.
i have created a database called SchoolDB. i hv the feild listed below in the table StudentInfo.
unfortunately i haven't succeeded. I tried many ways.
Here is one of them.
Dim _cn As New SqlConnection
Dim _cnstring As String = "Data Source=ELIANE-VAIO\SQLEXPRESS;Initial Catalog=SchoolDB;Integrated Security=True;"
Dim _cn As New SqlConnection(_cnstring)
Dim cmd As New SqlCommand
_cn.Open()
cmd.Connection = _cn
cmd.CommandText = "INSERT INTO StudentInfo([Code], [Full-Name], [Position], [Title], [Phone-Number], [Address], [Date-Time]) VALUES('" & Form1.txtCode.Text & "', '" & Form1.txtName.Text & "', '" & Form1.cmbPosition.Text & "', '" & Form1.cmbTitle.Text & "','" & Form1.txtPhoneNumber.Text & "',' " & Form1.txtAddress.Text & "', '" & Form1.DateTimePicker1.Value & "');"
cmd.ExecuteNonQuery()
_cn.Close()
Can you help me please :/
Any help would be appreciated
|
|
|
|
|
What kind of error did you get? Did you try debugging?
Copy the query and run it directly on your database. Check if it inserts data into the table.
|
|
|
|
|
I am getting :
Quote: Violation of PRIMARY KEY constraint 'PK_StudentInfo'. Cannot insert duplicate key in object 'dbo.StudentInfo'.
but i am sure 100% that there is no record that have the same code.
So i don't know what the problem is :/
|
|
|
|
|
Quote: Private Sub StudentInfoBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs) Handles StudentInfoBindingNavigatorSaveItem.Click
Me.Validate()
Me.StudentInfoBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.SchoolDBDataSet)
End Sub
i have tried this. but it won't save to the database. it will only out a new record in the current form
|
|
|
|
|
Quote: Quote: Private Sub StudentInfoBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs) Handles StudentInfoBindingNavigatorSaveItem.Click
Me.Validate()
Me.StudentInfoBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.SchoolDBDataSet)
End Sub
i have tried this. but it won't save to the database. it will only out a new record in the current form
|
|
|
|
|
Start by reading about SQL Injection[^], and then fixing the vulnerability in your code.
cmd.CommandText = "INSERT INTO StudentInfo([Code], [Full-Name], [Position], [Title], [Phone-Number], [Address], [Date-Time]) VALUES (@Code, @Name, @Position, @Title, @PhoneNumber, @Address, @DateTime);"
cmd.Parameters.AddWithValue("@Code", Form1.txtCode.Text)
cmd.Parameters.AddWithValue("@Name", Form1.txtName.Text)
cmd.Parameters.AddWithValue("@Position", Form1.cmbPosition.Text)
cmd.Parameters.AddWithValue("@Title", Form1.cmbTitle.Text)
cmd.Parameters.AddWithValue("@PhoneNumber", Form1.txtPhoneNumber.Text)
cmd.Parameters.AddWithValue("@Address", Form1.TxtAddress.Text)
cmd.Parameters.AddWithValue("@DateTime", Form1.DateTimePicker1.Value)
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
..and after that?
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
I'd suggest posting the DDL of the StudentInfo table.
If the Code column is the primary key, then the statement "i am sure 100% that there is no record that have the same code[^]" doesn't match what the database knows. If that's the case, then my money's on the database being correct!
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Richard Deeming wrote: I'd suggest posting the DDL of the StudentInfo table. For a moment, I'd thought you'd bring up the missing using-directive.
Richard Deeming wrote: If the Code column is the primary key, then the statement "i am sure 100% that there is no record that have the same code[^]" doesn't match what the database knows. If that's the case, then my money's on the database being correct! Good bet, and more helpfull than a non-related best practice.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Eddy Vluggen wrote: Good bet, and more helpfull than a non-related best practice.
"Best practice" doesn't quite cover it. SQL Injection remains the biggest security vulnerability[^] in the wild today. If I see someone posting code which is susceptible to SQL Injection, I'll point that out in the hopes that they will appreciate and learn from the advice.
If someone asked you, "Every time I pour coffee into my computer it smells funny - what's the best brand of air-freshener to use?", would you advise them on the best brand of air-freshener, or would you point out the dangers of pouring coffee into their computer?!
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Hello again.
Quote: Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
Dim strconnection As String = "Data Source=ELIANE-VAIO\SQLEXPRESS;Initial Catalog=SchoolDB;Integrated Security=True;"
Dim _cn As SqlConnection = New SqlConnection(strconnection)
_cn.Open()
Dim cmd As New SqlCommand
cmd.CommandText = "INSERT INTO StudentInfo([Code], [Full-Name], [Position], [Title], [Phone-Number], [Address], [Date-Time]) VALUES (@Code, @Name, @Position, @Title, @PhoneNumber, @Address, @DateTime);"
cmd.Parameters.AddWithValue("@Code", Form1.txtCode.Text)
cmd.Parameters.AddWithValue("@Name", Form1.txtName.Text)
cmd.Parameters.AddWithValue("@Position", Form1.cmbPosition.Text)
cmd.Parameters.AddWithValue("@Title", Form1.cmbTitle.Text)
cmd.Parameters.AddWithValue("@PhoneNumber", Form1.txtPhoneNumber.Text)
cmd.Parameters.AddWithValue("@Address", Form1.txtAddress.Text)
cmd.Parameters.AddWithValue("@DateTime", Form1.DateTimePicker1.Value)
Dim cmd1 As New SqlCommand
cmd1.CommandText = "select * from StudentInfo"
MsgBox(cmd1.CommandText.ToString)
_cn.Close()
End Sub
Hello again. The code won't give me any errors. But how can i view the newly inserted record in my database (SQl) ??
Thank you
|
|
|
|
|
You're missing a call to cmd.ExecuteNonQuery() , which would actually insert the record. This needs to come after the last cmd.Parameters.AddWithValue(...) line.
...
cmd.Parameters.AddWithValue("@DateTime", Form1.DateTimePicker1.Value)
cmd.ExecuteNonQuery()
Assuming the Code column is your primary key, you need to specify the filter in the WHERE clause of your SELECT query:
cmd1.CommandText = "select * from StudentInfo where Code = @Code"
cmd1.Parameters.AddWithValue("@Code", Form1.txtCode.Text)
If the Code column is not your primary key, then you'll need to post the structure of your StudentInfo table so we can see what's going on.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Message Closed
modified 13-Nov-13 9:00am.
|
|
|
|
|