19. november 2009 - 15:28Der er
12 kommentarer og 1 løsning
Opsætning Dataset..
Hej..
Jeg har lavet et lille program der forbinder til en Microsoft SQL server, og henter data/Tabeller ind i programmet..
Mit problem er at jeg gerne vil ha en indstilling i programmet så man kan fortælle programmet hvor SQL-Serveren er. Altså kunne flytte programmet og så sætte forbindelsen op igen ( inde i programmet med Placering/database/Login info o.s.v. til Serveren)..
Da jeg er forholdsvis ny på området, ville det være rart med lidt hjælp.. er helt på bar bund her..
Det virker nu med App.Config, men det store spørgsmål er nu, hvordan ændre jeg den.
Jeg vil gerne ha en Form i programmet, hvor jag kan ændre de tre ting, Server / Databasen (i sql serveren)/ Bruger-password til sql serveren. ------------------------------------ <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> </configSections> <connectionStrings> <add name="ZZProgram.My.MySettings.ZZ_SqlServer" connectionString="Data Source=SERVER\ZZ_SQL;Initial Catalog=Client00020004;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings> <system.diagnostics> <sources> ------------------------------------
Altså hvordan kan jeg læse / Skrive til App.config ??
Hej igen, tror den snart er der.. Men kan nogen se hvad der er galt i denne kode. Får ingen fejl men den vil ikke gemme. Køre kun til "CON-1 FUNDET" den finder aldrig den rigtige linie i APP.Config
Public Shared Sub UpdateAppSettings(ByVal KeyName As String, ByVal KeyValue As String) Dim XmlDoc As New XmlDocument() XmlDoc.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile) For Each xElement As XmlElement In XmlDoc.DocumentElement If xElement.Name = "connectionStrings" Then MsgBox("CON-1 FUNDET") For Each xNode As XmlNode In xElement.ChildNodes If xNode.Attributes(0).Value = KeyName Then MsgBox("CON-2 FUNDET") xNode.Attributes(1).Value = KeyValue End If Next End If Next
XmlDoc.Save(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile) End Sub End Class
-----------------------------------------------
Knap På Form :
Private Sub Save_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Save_Button.Click
Namespace E Public Class Program Public Shared Function GetConStr(con As String) As String Return ConfigurationManager.ConnectionStrings(con).ConnectionString End Function Public Shared Sub SetConStr(con As String, constr As String) Dim cfg As Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None) cfg.ConnectionStrings.ConnectionStrings(con).ConnectionString = constr cfg.Save(ConfigurationSaveMode.Modified) ConfigurationManager.RefreshSection("connectionStrings") End Sub Public Shared Sub Main(args As String()) Console.WriteLine(GetConStr("Test")) SetConStr("Test", "bla bla bla") Console.WriteLine(GetConStr("Test")) End Sub End Class End Namespace
Tak for svaret, jeg har fået det til og virke men prøver lige din løsning også.
Ved du om det er muligt at lave en søgning på netværket, efter SQL-Servere og så vise valgmulighederne i en kombibox, og der efter gi et valg af databaser på serveren der er valg..
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.