|
Any example that shows how to create a separate project, add a reference, and invoke a form would do.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
I wrote a program that is now in use by quite a few friends and over the past few years, I've updated the program with additional field added to tables I need to develop a program that will make these change without me going to them and doing this in person. Can some one help me.
|
|
|
|
|
How can we help?
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
Well, you haven't said anything about what you need help with, so I'll give you a large hint.
All SQL database engines are manageable by executing SQL statements against them. That includes security, adding/deleting indexes, tables, columns, and obviously rows.
So, you just come up with the SQL statements to make the required changes to your tables/columns/rows and execute those against the database.
|
|
|
|
|
Imports System.Data.OleDb
..
Dim provider As String
Dim dataFile As String
Dim connString As String
Dim myConnection As OleDbConnection = New OleDbConnection
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
provider = Microsoft.ACE.OLEDB.4.0;Data Source = "
dataFile = "C:\DBtest\test.mdb"
connString = provider + dataFile
myConnection.ConnectionString = connString
myConnection.Open()
Dim str As String = "ALTER TABLE Items ADD COLUMN Rhour MONEY"
Dim cmd As OleDbCommand = New OleDbCommand(str, myConnection)
Try
cmd.ExecuteNonQuery()
cmd.Dispose()
myConnection.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
|
|
|
|
|
I have just written a very simple app that displays a form with a single ShockWave Flash control. It runs fine under VS and as a standalone EXE on my development machine (Windows 10 Pro). But when I copy the EXE, associated DLLs, and SWF files to a Windows 7 Pro machine and run it, all I get is a totally white frame. What else do I need to do on the customer machine to make it run?
|
|
|
|
|
Install Flash.
It's bad idea to make an application that's reliant on Flash because the industry is trying to kill it off. It's probably the most insecure piece of software in existence right now.
modified 1-Jun-16 18:00pm.
|
|
|
|
|
Hello geeks
My struggle with Updating data seems never ending. My latest code is as below:
Private Sub StaffInfoAdapterUpdate(ByVal conxnString As String)
Dim cmdText As String
cmdText = "SELECT StaffID, StaffName, blCampuses.CampusName,
Designation, DOB, Gender, NIC, DateOfJoining
FROM tblStaffInfo
INNER JOIN tblCampuses
ON tblStaffInfo.CampusID = tblCampuses.CampusID"
Using Conxn As SqlConnection = New SqlConnection(conxnString)
Dim adapter As SqlDataAdapter = New SqlDataAdapter(cmdText, Conxn)
Dim strUpdate As String = "UPDATE StaffName
SET StaffName = @StaffName " & "WHERE StaffID = @StaffID"
adapter.UpdateCommand = New SqlCommand(strUpdate, Conxn)
adapter.UpdateCommand.Parameters.Add("@StaffName", SqlDbType.VarChar, 50, "StaffName")
Dim parameter As SqlParameter =
adapter.UpdateCommand.Parameters.Add("@StaffID", SqlDbType.Int)
parameter.SourceColumn = "StaffID"
parameter.SourceVersion = DataRowVersion.Original
Dim StaffInfoTable As New DataTable
Try
adapter.Fill(StaffInfoTable)
adapter.Update(StaffInfoTable)
Catch ex As Exception
MsgBox("Error: " & ex.Message)
End Try
End Using
End Sub
When I modify the StaffName for testing, the code does not throw any error, but does not update the record either.
Please note that StaffID is the Primary Key of tblStaffInfo
Please help!
I have a point to clarify in this respect:
Do I have to include ALL the Fields in the strUpdate; which are included in cmdText string; even if most of the fields are least expected to be modified?
|
|
|
|
|
Raabi Anony wrote: Dim StaffInfoTable As New DataTable
Try
adapter.Fill(StaffInfoTable)
adapter.Update(StaffInfoTable)
You create a new DataTable , load the data from the database, and then update the database with the data you've just loaded. There's nothing in that code that changes the data.
Are you missing part of your code from the question?
Raabi Anony wrote: Do I have to include ALL the Fields in the strUpdate; which are included in cmdText string; even if most of the fields are least expected to be modified?
You have to include all of the fields you want to update, along with the primary key. If a field isn't going to be updated, and it's not the primary key, then you don't need to include it.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Thanks Homer, for your attention. I am reading the data in datagridView and modify it there only.
Do I need to make changes for this scenario? Please suggest!
Regards
|
|
|
|
|
The code you've posted isn't touching your DataGridView . You load the data from the database, and then immediately update the database with the data you've just loaded.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Thanks, Richard, for your attention and sorry for leaving out a change in the code, for the test purpose, as below:
Dim strUpdate As String = "UPDATE StaffName SET StaffName = 'Anonymous'" & "WHERE StaffID = 1005"
A record with the StaffID = 1005 exists.
But the record doesn't get changed, as expected (by me ). What mistake I am doing.
Please suggest.
I have tried the following code, as well:
Private Sub StaffInfoAdapterUpdate()
Dim ConxnString As String = "Data Source=Dar-e-Arqam\SQLEXPRESS; Initial Catalog=StaffReport;
Integrated Security=True"
Dim Conxn As New SqlConnection(ConxnString)
Dim cmd As SqlCommand = Conxn.CreateCommand()
Dim StaffInfoDS As New DataSet()
Dim StaffInfoAdapter As New SqlDataAdapter()
Dim cmdText As String = "SELECT StaffID, StaffName, tblCampuses.CampusName, Designation,
DOB, Gender, NIC, DateOfJoining
FROM tblStaffInfo
INNER JOIN tblCampuses
ON tblStaffInfo.CampusID = tblCampuses.CampusID"
Dim strUpdate As String = "UPDATE StaffName " &
"SET StaffName = 'Anonymous' " & "WHERE StaffID = 1005"
Try
Conxn.Open()
cmd.CommandText = strUpdate
cmd.ExecuteNonQuery()
MsgBox("The record updated. Really?")
Catch ex As Exception
MsgBox("Error: " & ex.Message)
End Try
End Sub
The above code throws an error: "Invalide object name 'StaffName'.
I am very disturbed for this problem.
Please help.
modified 2-Jun-16 23:26pm.
|
|
|
|
|
Your table is called tblStaffInfo, so your update statement needs to be
Raabi Anony wrote: Dim strUpdate As String = "UPDATE tblStaffInfo " &
"SET StaffName = 'Anonymous' " & "WHERE StaffID = 1005"
Try
=========================================================
I'm an optoholic - my glass is always half full of vodka.
=========================================================
|
|
|
|
|
Wow, such a major mistake, I had been overlooking.
Thanks Chris Quinn and keep your glass always FULL
|
|
|
|
|
Hello everybody
My following code seems very non-cooperative and issues the error: Dynamic SQL generation is not supported against multiple base tables
Dim conxnString As String = "Data Source=Raabi\SQLEXPRESS; Initial Catalog=StaffReport; Integrated Security=True"
Dim conxn As New SqlConnection(conxnString)
Dim cmd As SqlCommand = conxn.CreateCommand()
Dim StaffInfoDS As New DataSet()
Dim StaffInfoAdapter As New SqlDataAdapter()
Dim StaffInfoTbl As DataTable
Private Sub PopulateStaffInfoDGV()
Dim cmdText As String
cmdText = "SELECT StaffID, StaffName, tblCampuses.CampusName, Designation, DOB, Gender, NIC, DateOfJoining
FROM tblStaffInfo
INNER JOIN tblCampuses
ON tblStaffInfo.CampusID = tblCampuses.CampusID"
Try
cmd.CommandText = cmdText
StaffInfoAdapter.SelectCommand = cmd
conxn.Open()
StaffInfoAdapter.Fill(StaffInfoDS, "StaffInfoTbl")
StaffInfoDGV.DataSource = StaffInfoTbl
conxn.Close()
Catch ex As Exception
MsgBox("Error: " & ex.Message)
End Try
End Sub
Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
Dim cmdbldr As New SqlCommandBuilder(StaffInfoAdapter)
cmdbldr.GetUpdateCommand()
StaffInfoAdapter.Update(StaffInfoDS, "StaffInfoTbl")
End Sub
Any help is highly appreciated.
|
|
|
|
|
According to SqlCommandBuilder Class (System.Data.SqlClient)[^]
Quote: Automatically generates single-table commands that are used to reconcile changes made to a DataSet with the associated SQL Server database. This class cannot be inherited.
The key word here is "single-table".
You have to use the appropriate InsertCommand, UpdateCommand, or DeleteCommand to do the job as shown in Updating Data Sources with DataAdapters[^]
Peter Leow
https://www.amazon.com/author/peterleow
modified 30-May-16 0:24am.
|
|
|
|
|
Thanks, Peter, for the attention.
Let me try the stuff at the link, provided by you. I may get back, if further guidance is needed.
Regards
|
|
|
|
|
As the error states you cannot update the 2 tables via a dataadaptor. The inner join is getting data from 2 table and presenting it to you UI.
You need to only update the tblStaffInfo as the campus name is there for display purposes only. I used to do the following:
get an empty datatable record by passing in Select * from tblStaffInfo where 1=-1
Add a record to the enpty datatable
populate it with the updated content from your joined datatable
pass the new record to the dtataadaptor to do the update.
Clumsy and ugly but it gets the job done. This is a learning process for you and will be invaluable in the future giving you a grounding in database manipulation.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Thank, RAH, for hinting towards a new direction for solution.
I will try to implement the idea. Unfortunately, I am almost a novice in databases and therefore I have to struggle a lot in order to grasp the hints.
I will appreciate, if you could emphasize a bit more on your point.
Regards
|
|
|
|
|
|
Thanks, Mycroft, for the link. I will try to follow it and may get back, if needed.
Regards
|
|
|
|
|
I want to save some values into multi columns of a list-box in classic visual basic (vb v.:1.0~6.0) that can use it when we added the component of "Microsoft Form 2.0 Library" to our toolbar, but only can Add items run-time into it! (just programmatically!) Please help.
|
|
|
|
|
As far as I can remember, and I haven't used VB6 in 15 years!, what you want to do is not supported.
|
|
|
|
|
For my sins I've used VB6 a bit more recently than @Dave-Kreskowiak so I can confirm that he is correct. That functionality is not available.
If you have some fixed values that you want to enter into the list-box it's usual to use the Form_Load event to do that
|
|
|
|
|
Hello everybody!
I am facing two simple problems in the following code:
Dim cmdText As String
cmdText = "SELECT tblStaffInfo.StaffName, tblCampuses.CampusName,
LessonPlanning, LessonPreprn, Regularity,
((LessonPlanning + LessonPreprn + Regularity)/3 ) AS AvgScore
FROM tblStaffInfo
INNER JOIN tblCampuses
ON tblStaffInfo.CampusID = tblCampuses.CampusID
INNER JOIN tblStaffEvaluation
ON tblStaffEvaluation.StaffID = tblStaffInfo.StaffID
ORDER BY tblStaffInfo.StaffName"
(1)- The above Sql shows hatred for the division (/) sign
(2)- How can use short alias for the long tables' name; like tblStaffInfo and tblCampuses etc.
Please suggest!
|
|
|
|