Hej
Jeg er igang med at lave et system til mit eksamensprojekt, som skal være i C#, og i den forbindelse skal jeg lave et program der kan tilgå nogle central ressourcer, som i mit tilfælde er informationer i en MySQL-database.
Jeg har fået lavet mig et Count-statement til at tjekke login til systemet, men inde i systemets næste formular skal jeg bruge en "normal" select-forespørgsel, da jeg godt vil hente brugerens navn ud.
Min WindowsForm ser således ud:
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using MySql.Data.MySqlClient;
-
- namespace Laegehus___velkomstPC
- {
- public partial class main : Form
- {
- private MySqlConnection connection;
- private string server;
- private string database;
- private string uid;
- private string password;
- string cpr;
- public main(string getcpr)
- {
- InitializeComponent();
- cpr = getcpr;
- }
-
- private void main_Load(object sender, EventArgs e)
- {
- server = "localhost";
- database = "dbnavn";
- uid = "dbuser";
- password = "dbpass";
- string connectionString;
- bool concheck = false;
- string navn = "";
- connectionString = "SERVER=" + server + ";" + "DATABASE=" + database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";
- string namequery = "SELECT navn FROM patients WHERE cpr="+ cpr +"";
- connection = new MySqlConnection(connectionString);
- try
- {
- connection.Open();
- concheck = true;
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
-
- if (concheck == true)
- {
- //Create Mysql Command
- MySqlCommand command = connection.CreateCommand();
- command.CommandText = namequery;
- MySqlDataReader reader = command.ExecuteReader();
- //navn = reader["navn"].ToString();
- while (reader.Read())
- {
- navn = reader["navn"].ToString();
- }
- main_welcome.Text += navn;
- }
- else
- {
- MessageBox.Show("Couldn't connect to database! Please contact administrator");
- }
- try
- {
- connection.Close();
- }
- catch (MySqlException ex)
- {
- MessageBox.Show(ex.Message);
- }
-
-
- }
-
- private void button1_Click(object sender, EventArgs e)
- {
- //Load bestil_laege.cs
- MessageBox.Show("Du vil nu blive sendt videre til tidsbestilling hos lægen");
- blodprove.Hide();
- }
-
- private void sygepleje_Click(object sender, EventArgs e)
- {
- //Load bestil_sygepleje.cs
- MessageBox.Show("Du vil nu blive sendt videre til tidsbestilling hos sygeplejesken");
- }
-
- private void blodprove_Click(object sender, EventArgs e)
- {
- //Load blodproeve.cs
- MessageBox.Show("Du kan nu bestille en blodprøve");
- }
-
- private void doc_done_Click(object sender, EventArgs e)
- {
- velkomst goback = new velkomst();
- goback.Show();
- main exitmain = this;
- exitmain.Close();
- }
- }
- }
Variablen navn, som jo skulle have værdien af det jeg har hentet ud, får ingen værdi. Det ser umiddelbart ud som om at den springer mit while-loop over, hvis jeg laver en gennemløb med F11.
Hvad er det jeg gør forkert?