Ik hoop dat ik dit duidelijk uit kan leggen.
Ik heb in een project een public void gedefinieerd genaamd dbConnect(string strArg).
Deze roep ik dan aan vanuit het project.
Ik maak een SqlConnection (sqlConn) aan en definieer een connectionstring.
Het openen van de database loopt goed.
Nu is de tweede case dus CLOSE.
Als ik daar de eerder gedefinieerde sqlConn wil aanroepen, dan kent hij die niet.
Als ik hem weer opnieuw maak(regel 33), dan krijg ik de melding:
A local variable named 'sqlConn' is already defined in this scope
Een SqlConnection kan je blijkbaar ook niet public maken(mijn idee hierover was dat je een publiek iets ergens anders ook kan gebruiken..), dus ik vraag me even af: Hoe kan ik deze sqlConn verder gebruiken..
Ik heb gegoogled, en kwam ergens tegen dat je de sqlConn eerst moet definieren als null, maar als ik dat eerst doe, en regel 12 commentarieer, dan krijg ik op regel 37 alsnog de melding
Use of unassigned local variable sqlConn
Hier de code.. (Sorry voor de layout.)
Gebruikte variablelen worden uit het register opgehaald, maar heb ik even weggelaten.
Ik heb in een project een public void gedefinieerd genaamd dbConnect(string strArg).
Deze roep ik dan aan vanuit het project.
code:
1
| dbConnect("OPEN"); |
Ik maak een SqlConnection (sqlConn) aan en definieer een connectionstring.
Het openen van de database loopt goed.
Nu is de tweede case dus CLOSE.
Als ik daar de eerder gedefinieerde sqlConn wil aanroepen, dan kent hij die niet.
Als ik hem weer opnieuw maak(regel 33), dan krijg ik de melding:
A local variable named 'sqlConn' is already defined in this scope
Een SqlConnection kan je blijkbaar ook niet public maken(mijn idee hierover was dat je een publiek iets ergens anders ook kan gebruiken..), dus ik vraag me even af: Hoe kan ik deze sqlConn verder gebruiken..
Ik heb gegoogled, en kwam ergens tegen dat je de sqlConn eerst moet definieren als null, maar als ik dat eerst doe, en regel 12 commentarieer, dan krijg ik op regel 37 alsnog de melding
Use of unassigned local variable sqlConn
Hier de code.. (Sorry voor de layout.)
Gebruikte variablelen worden uit het register opgehaald, maar heb ik even weggelaten.
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
| public void dbConnect(string strArg) { switch (strArg) { case "OPEN": // Display message on StatusBar this.barMain.Text = "Opening connection to Database on: " + Application.UserAppDataRegistry.GetValue("SERVERNAME").ToString(); // Create DB connectstring strConnection = "server=" + dbConnectServerName + "; uid=" + dbConnectSQLuser + "; pwd=" + dbConnectSQLPass + "; database=" + dbConnectDatabaseName + ""; // Create Sqlconnection SqlConnection sqlConn = new SqlConnection(); sqlConn.ConnectionString = strConnection; // Open the database connection try { sqlConn.Open(); this.barMain.Text = "Connection to database " + dbConnectDatabaseName + "on " + dbConnectServerName + "succeeded."; } catch (Exception Ex) { this.barMain.Text = "Error connecting to database: " + Ex.Message; } break; case "CLOSE": // display message on statusbar this.barMain.Text = "Closing connection to Database on: " + Application.UserAppDataRegistry.GetValue("SERVERNAME").ToString(); //SqlConnection sqlConn = new SqlConnection(); // Close the database connection try { sqlConn.Close(); this.barMain.Text = "Connection closed."; } catch (Exception Ex) { this.barMain.Text = "Error disconnecting from database: " + Ex.Message; } break; default: // return error message break; } } |