|
i checked sql query returning value and i tried member name as database column.But still same issue.kindly help on this.I am new this technology.
modified 5-Jun-16 16:45pm.
|
|
|
|
|
|
Hi everybody
I had been trying to code a DatagridView with multiple tables, without much success, until I found the following code; which seems fulfilling my aspirations:
Private Function GetDataSource() As DataTable
Const sqlSelect As String = "SELECT a.Col1 AS aCol1, a.Col2 AS aCol2, b.Col1 AS bCol1, b.Col2 AS bCol2 " & _
"FROM dbo.TableA AS a
INNER JOIN dbo.TableB AS b ON a.IdCol = b.aIdCol " & _
"ORDER BY aCol1 ASC, bCol1 ASC"
Try
Dim table = New DataTable()
Using con = New MySqlConnection(My.Settings.MySqlConnectionString)
con.Open()
Using da = New MySqlDataAdapter(sqlSelect, con)
da.Fill(table)
Return table
End Using
End Using
Catch ex As Exception
Throw
End Try
End Function
me.DGV1.DataSource = GetDataSource()
But, unfortunately, it gives a couple of the following errors:
MySqlConnection is not defined
MySqlDataAdapter is not defined
Looking forward for some explanation and remedy for these errors.
Please help!
|
|
|
|
|
The code and your title have nothing to do with each other.
Declaring a const within a method is just wrong, it should be a class level constant!
Having declared it you do not use it instead you use My.Settings.MySqlConnectionString which does not exist.
MySqlDataAdapter is also not declared in the method (it is probably declared somewhere else in the source you copied from).
You are running across the fundamental problem with cut and paste learning. You are trying to use some code you found with no understanding what it does. You will now get piecemeal explanations which you do not understand (above is an example).
Get a book, READ it and work through the examples, when you have a basic understanding come back and we can be of more use to you.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Mycroft Holmes wrote: Declaring a const within a method is just wrong, it should be a class level constant!
There's nothing wrong with declaring a Const in a method if it's only used within that method.
For SQL queries, it's even a good idea, because it prevents you from concatenating user input into the query, and forces you to use parameters.
Mycroft Holmes wrote: Having declared it you do not use it instead you use My.Settings.MySqlConnectionString which does not exist.
You're looking at the wrong line - it's used on the line immediately below that:
Using da = New MySqlDataAdapter(sqlSelect, con)
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Constant - I learn something every now and then, makes it worth hanging around.
I also did not know that about the dataadaptor, I explicitly open and close the connection but then I have not looked at the mechanics of DB comms for ages.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
What DBMS are you using? Your query looks like a Microsoft SQL Server query, but you're trying to use the MySQL classes to execute it.
If your database is MS SQL Server, use the classes from the System.Data.SqlClient namespace:
Using con = New SqlConnection(My.Settings.SqlServerConnectionString)
Using da = New SqlDataAdapter(sqlSelect, con)
da.Fill(table)
Return table
End Using
End Using
If your database is MySQL, you'll need to install Connector/Net[^], add a reference to it from your project, and add Imports MySql.Data.MySqlClient at the top of your code file.
NB: The *DataAdapter classes will open and close the connection for you. There's no need to call con.Open() before you call da.Fill(...) .
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Thanks a lot for the responses and sorry for the late acknowledgment.
Let me try your suggestions and may get back to you geeks for further help, if necessary.
Actually, I am using Microsoft SQL Server. I have fair knowledge of programming in VB.NET, in general, but not in databases.
Would anyone suggest the necessary correction, in view of using MS SQL Server, because this piece of code can serve my purpose, at the moment.
Have a good time.
modified 24-May-16 22:30pm.
|
|
|
|
|
Sorry for another show up with hope.
I am still stuck with the
Dim conxnString As String = My.MySettings.sqlConnectionString
Or
Dim conxnString As String = My.Settings.sqlConnectionString
VisualStudio 2015 says "sqlConnectionString is not a member of MySettings"
Do I need to Import some Library, other than System.Data.SqlClient ?
My whole code is as below:
Private Function cboCampuses_SelectedValueChanged(sender As Object, e As EventArgs) Handles cboCampuses.SelectedValueChanged
Dim selectedValue As String
selectedValue = cboCampuses.SelectedValue
Me.StaffEvaluationDGV.DataSource = GetDataSource(selectedValue)
End Function
Private Function GetDataSource(selectedValue) As DataTable
Dim sqlSelect As String = "SELECT * FROM tblEvaln " &
"WHERE CampusName = " & selectedValue
Dim SqlConnection As SqlConnection
Dim conxnString As String = My.MySettings.sqlConnectionString
Try
Dim table = New DataTable()
Using con = New System.Data.SqlClient.SqlConnection(conxnString)
con.Open()
Using da = New System.Data.SqlClient.SqlDataAdapter(sqlSelect, con)
da.Fill(table)
Return table
End Using
End Using
Catch ex As Exception
End Try
End Function
Would anybody help me please!
|
|
|
|
|
Use My.Settings.MySqlConnectionString , assuming the value is a valid SQL Server connection string[^].
I just changed the name to highlight the fact that it's not a MySQL connection string.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
I am getting error while inserting data into column "initial_read_km".I am writting below code.
Dim t1 As String
t1 = txtiniread.Text
Dim t2 As String = Strings.Right("00000000" & t1.ToString(), 8)
cmd.CommandText = "insert into tbVehicle(Initial_read_km) values('" & t2 & "')"
cmd.ExecuteNonQuery()
please help on this.
modified 22-May-16 15:23pm.
|
|
|
|
|
The string you're attempting to insert exceeds the defined length for the target column. Either make the column "larger", if you're at liberty to do so, or take care not trying to insert longer strings than in can hold. The same applies to binary (blob) columns.
Also, you should never use string-concatenation to build SQL-statements. It's bad for a lot of reasons, the risk of losing your database to SQL-injection being the most prominent one. Use SQL-parameters instead.
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson
|
|
|
|
|
Why do you call ToString on t1 ; it is already a string as shown in the previous two lines of code? Also what is contained in t2 when you add it to the CommandText ?
|
|
|
|
|
|
String or Binary Data Would be Truncated means you're trying to stuff too much data into the field.
What is your string length coming out as and what is your field length set up as ?
|
|
|
|
|
How we can retrieve Gridvalue ????
I have done the code for retriveing value of gdidview,but the last row return 0 value.
|
|
|
|
|
Please edit your question and add some proper details of your code and what results you see.
|
|
|
|
|
For Each row As DataGridViewRow In dgvDepartmentReadings.Rows
With _MeterReadings
.MonthlyTarget = txtMonthlyTarget.Text
.ReadingDate = dtpReadingDate.Text
.DepartmentTitle = row.Cells("colDepartmentTitle").Value
.MeterNumber = row.Cells("colMeterNumber").Value
.MeterReading = row.Cells("colMeterReadings").Value
.Usages = row.Cells("colUsages").Value
.PercentageUsages = row.Cells("colPercentageUsages").Value
End With
Next
it doesnt give the value of .PercentageUsages column
|
|
|
|
|
Have you used the debugger to check exactly what it is retrieving?
|
|
|
|
|
|
And do you think it might be useful if you explained what is wrong with that?
|
|
|
|
|
That might be actually correct. Did you verify that the column does get it's value from the datasource? It may just as well be a calculated field, tucked away in a drawing-handler or similar.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Hello,
I am planning to migrate from MSFlexGrid to MsHflexGrid. In MSFlexGrid, when the .col /.row property is changed programmatically, the rowcolchange event gets fired. But in MsHflexGrid the same doesn’t work. However, on manually changing the .col/.row property through mouse click or using navigation keys, the event gets fired in MSHFlexGrid
Please help.
|
|
|
|
|
So it is only missing the raising of the event when you move from code? How about raising the event yourself? Or move the code in the event to a method and call that after moving from code?
It would also be very advisable to migrate to .NET and use a DataGridView or similar control. Visual Studio 6 is a bit outdated, and so is the support for it.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Eddy is being too kind to VB6. It was outdated 15 years ago.
|
|
|
|