Avatar billede flvind Nybegynder
12. januar 2006 - 13:53 Der er 6 kommentarer og
1 løsning

problem med c# og ms sql server 2000

Hej jeg er ny i c# og jeg vil gerne skabe en forbindelse til en mssql database.
jeg har installeret ms sql 2000 personal og visual studio C# 2003, samt msde service pack 4.

jeg forsøger at oprette en sqlconnection i c# og får følgende fejlmedelelse:
Unable to connect to database.
It is only possible to connevt to Sql server desktop engine databases and microsoft access databases with this version of visual studio.

hvad gør jeg galt?
Avatar billede jess_chr Nybegynder
12. januar 2006 - 15:05 #1
prøv at skrive koden du anvender!
Avatar billede timelord Nybegynder
18. januar 2006 - 10:56 #2
Her er lidt kode:
SqlConnection ConnSQL = new SqlConnection();
ConnectionString = "workstation id=WORKSTATION;packet size=4096;user id=USERID;data source=DATABASESERVER;persist security info=False;initial catalog=DATABASE;password=PASSWORD;
ConnSQL = new SqlConnection(ConnectionString);
ConnSQL.Open();

Udfyld WORKSTATION, USERID, DATABASESERVER, DATABASE og PASSWORD med dine informationer.
Avatar billede jess_chr Nybegynder
18. januar 2006 - 23:05 #3
string constreng = "workstation id=MyMachine; packet size=4096; user id=test; password=test; data source=MyServer; initial catalog=PersonDataDB";

SqlConnection con = new SqlConnection(constreng);
con.Open();

SqlCommand cmd = new SqlCommand("SELECT PersonID,FirstName FROM Person",con);
SqlDataReader rd = cmd.ExecuteReader();

while(rd.Read()){
  ListBox1.Items.Add(rd["FirstName"].ToString()+" har følgende ID "+rd["PersonID"]);
}

rd.Close();
con1.Close();

Det her virker for mig, ellers prøv www.connectionstrings.com hvis det er den der er problemet.
Avatar billede flvind Nybegynder
24. januar 2006 - 15:08 #4
Hej her er den kode jeg benytter

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace mssql
{
    /// <summary>
    /// Summary description for Form1.
    /// </summary>
    public class Form1 : System.Windows.Forms.Form
    {
        private System.Windows.Forms.ListBox lsBoxResult;
        private System.Data.SqlClient.SqlDataReader rd;
        private System.Windows.Forms.Button btnOpen;
        public System.Data.SqlClient.SqlConnection sqlConnection;
        private System.Data.SqlClient.SqlCommand sqlCommand;
        private System.Windows.Forms.Button btnClose;
        private System.Windows.Forms.Button btnLuk;
        private System.Windows.Forms.ImageList imageList;
        private System.Windows.Forms.Label lblState;
        private System.Windows.Forms.Button btnHent;
        private System.ComponentModel.IContainer components;

        public Form1()
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            //
            // TODO: Add any constructor code after InitializeComponent call
            //
        }

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        protected override void Dispose( bool disposing )
        {
            if( disposing )
            {
                if (components != null)
                {
                    components.Dispose();
                }
            }
            base.Dispose( disposing );
        }

        #region Windows Form Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.components = new System.ComponentModel.Container();
            System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Form1));
            this.sqlConnection = new System.Data.SqlClient.SqlConnection();
            this.lsBoxResult = new System.Windows.Forms.ListBox();
            this.btnHent = new System.Windows.Forms.Button();
            this.sqlCommand = new System.Data.SqlClient.SqlCommand();
            this.btnOpen = new System.Windows.Forms.Button();
            this.btnClose = new System.Windows.Forms.Button();
            this.btnLuk = new System.Windows.Forms.Button();
            this.imageList = new System.Windows.Forms.ImageList(this.components);
            this.lblState = new System.Windows.Forms.Label();
            this.SuspendLayout();
            //
            // sqlConnection
            //
            this.sqlConnection.ConnectionString = "workstation id=FLEMSE;packet size=4096;integrated security=SSPI;data source=FLEMS" +
                "E;persist security info=False;initial catalog=test";
            //
            // lsBoxResult
            //
            this.lsBoxResult.Location = new System.Drawing.Point(48, 40);
            this.lsBoxResult.Name = "lsBoxResult";
            this.lsBoxResult.Size = new System.Drawing.Size(592, 121);
            this.lsBoxResult.TabIndex = 0;
            //
            // btnHent
            //
            this.btnHent.Location = new System.Drawing.Point(48, 336);
            this.btnHent.Name = "btnHent";
            this.btnHent.TabIndex = 1;
            this.btnHent.Text = "Hent info";
            this.btnHent.Click += new System.EventHandler(this.btnTest_Click);
            //
            // sqlCommand
            //
            this.sqlCommand.CommandText = "select * from butikker where navn Like \'%aldi\'";
            this.sqlCommand.Connection = this.sqlConnection;
            //
            // btnOpen
            //
            this.btnOpen.Location = new System.Drawing.Point(48, 8);
            this.btnOpen.Name = "btnOpen";
            this.btnOpen.TabIndex = 3;
            this.btnOpen.Text = "Open";
            this.btnOpen.Click += new System.EventHandler(this.btnOpen_Click);
            //
            // btnClose
            //
            this.btnClose.Location = new System.Drawing.Point(136, 8);
            this.btnClose.Name = "btnClose";
            this.btnClose.TabIndex = 4;
            this.btnClose.Text = "Close";
            this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
            //
            // btnLuk
            //
            this.btnLuk.Location = new System.Drawing.Point(672, 8);
            this.btnLuk.Name = "btnLuk";
            this.btnLuk.TabIndex = 5;
            this.btnLuk.Text = "Luk";
            this.btnLuk.Click += new System.EventHandler(this.btnLuk_Click);
            //
            // imageList
            //
            this.imageList.ImageSize = new System.Drawing.Size(40, 40);
            this.imageList.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList.ImageStream")));
            this.imageList.TransparentColor = System.Drawing.Color.Transparent;
            //
            // lblState
            //
            this.lblState.ImageIndex = 0;
            this.lblState.ImageList = this.imageList;
            this.lblState.Location = new System.Drawing.Point(0, 0);
            this.lblState.Name = "lblState";
            this.lblState.Size = new System.Drawing.Size(40, 40);
            this.lblState.TabIndex = 6;
            //
            // Form1
            //
            this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
            this.ClientSize = new System.Drawing.Size(752, 429);
            this.Controls.Add(this.lblState);
            this.Controls.Add(this.btnLuk);
            this.Controls.Add(this.btnClose);
            this.Controls.Add(this.btnOpen);
            this.Controls.Add(this.btnHent);
            this.Controls.Add(this.lsBoxResult);
            this.Name = "Form1";
            this.Text = "TurHelp Server";
            this.ResumeLayout(false);

        }
        #endregion

        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.Run(new Form1());
        }

        private void btnHent_Click(object sender, System.EventArgs e)
        {
            sqlCommand.ExecuteReader();
        {
            while(rd.Read())
            {
                lsBoxResult.Items.Add(rd["Navn"].ToString()+" har følgende ID "+rd["*"]);
            }
        }
            rd.Close();

           
        }

        private void btnOpen_Click(object sender, System.EventArgs e)
        {
            sqlConnection.Close();
            string constreng = "workstation id=FLEMSE; packet size=4096; user id=root; password=turhelp; data source=FLEMSE; initial catalog=turhelp";

            sqlConnection.Open();
           
            Image billed = imageList.Images[1];
            lblState.Image = billed;
           
            try
            {
                if (sqlConnection.State==ConnectionState.Open)
                    MessageBox.Show("Forbindelse oprettet");
               
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void btnClose_Click(object sender, System.EventArgs e)
        {
            sqlConnection.Close();
           
            Image billed = imageList.Images[0];
            lblState.Image = billed;

            try
            {
                if (sqlConnection.State==ConnectionState.Closed)
                    MessageBox.Show("Forbindelse lukket");
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void btnLuk_Click(object sender, System.EventArgs e)
        {
            this.Close();
        }
    }
}


Når jeg trykker på min bntHent opstår en fejl.
Jeg har oprettet forbindelse til Databasen, men kan ikke få udlæst de informationer som befinder sig i databasen.
Jeg opretter en knap for hver af de tabeller som findes i databasen. Et eksempel er butikstabellen som består af: ButikID, Navn, Adresse, By, Postnummer, Telefon og bskrivelese.
Jeg ønsker at indlæse alle informationer fra tabellen til en ListBox eller lignende.

Er der nogen der kan hjælpe mig?
Avatar billede jess_chr Nybegynder
29. januar 2006 - 01:17 #5
jeg kan umidlbart se at du ikke har fyldt din datareader "rd =" på knappen, så rd vil bare være tom, det er ikke lige hvordan jeg ville gøre det, men hva faen, hvis det virker!

private void btnHent_Click(object sender, System.EventArgs e){
rd = sqlCommand.ExecuteReader();

while(rd.Read()){
    lsBoxResult.Items.Add(rd["Navn"].ToString()+" har følgende ID "+rd["*"]);
}
rd.Close();           
}
Avatar billede flvind Nybegynder
30. januar 2006 - 08:46 #6
Hej jess chr

Hvis du ikke ville gøre det sådan hvordan ville du så gøre det jeg er åben for forslag.
Avatar billede flvind Nybegynder
14. februar 2006 - 14:22 #7
lukket
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester