C# SQL Conn - Error Application Role

Status
Niet open voor verdere reacties.

estgoth

Gebruiker
Lid geworden
11 mrt 2007
Berichten
108
Beste

Ik moet een connectie maken met SQL om te kunnen in loggen met bepaalde accounts die in de database staan. Daarom start ik op met de laagste SQL Application Role. Na het inloggen toont het program een 2de form. In deze form worden gegevens uit de database gehaald, maar helaas krijg ik geen gegevens, enkel en alleen de volgende betekenis volle error. Ik heb het vermoeden dat dit te maken heeft dat hij 2 keer op 1 connectie die database role wilt gebruiken. Maar ik moet kunnen switchen tussen rollen.

A severe error occurred on the current command. The results, if any, should be discarded.

Connectie Class
Code:
namespace DBTaakSQL.DataAcessClasses
{
    class DABaseClass
    {
        string connectionString = ConfigurationManager.ConnectionStrings["local"].ConnectionString;
        protected SqlConnection connection;

        public void Open(string role)
        {
            connection = new SqlConnection(connectionString);
            SqlCommand command;
            if (role.Equals("normal"))
            {
                command = new SqlCommand("sp_setapprole 'NORMAL' , 'normal' ", connection);
            }
            else
            {
                command = new SqlCommand("sp_setapprole 'SUPER' , 'super' ", connection);
            }
            command.CommandType = CommandType.Text;
            connection.Open();
            command.ExecuteNonQuery();
        }

        public void Close()
        {
            connection.Close();
            connection.Dispose();
        }
    }
}
Login scherm, zodat je kunt zien dat dit wel lukt
Code:
namespace DBTaakSQL
{
    public partial class FormLogin : Form
    {
        public FormLogin()
        {
            InitializeComponent();
        }

        private void buttonLogin_Click(object sender, EventArgs e)
        {
            DAGebruiker daGebruiker = new DAGebruiker();
            daGebruiker.Open("normal");
            Gebruiker gebruiker = daGebruiker.CheckLogin(textBoxPaswoord.Text, textBoxNaam.Text);
            daGebruiker.Close();
     
            if (gebruiker != null)
            {
                FormTable formTable = new FormTable();
                formTable.Gebruiker = gebruiker;
                formTable.Show();
            }
            else {
                panel1.Visible = true;
            }            
        }

Gegevens form
Code:
namespace DBTaakSQL
{
    public partial class FormTable : Form
    {
        Gebruiker _gebruiker;

        internal Gebruiker Gebruiker
        {
            get { return _gebruiker; }
            set { _gebruiker = value; }
        }

        public FormTable()
        {
            InitializeComponent();
        }

        private void FormTable_Load(object sender, EventArgs e)
        {
            listView1.BeginUpdate();

            listView1.View = View.Details;
            listView1.FullRowSelect = true;
            listView1.MultiSelect = false;

            listView1.Columns.Add("ID", 35,HorizontalAlignment.Right);
            listView1.Columns.Add("LOGIN", 120, HorizontalAlignment.Left);
            listView1.Columns.Add("PASSWORD", 120, HorizontalAlignment.Left);
            listView1.Columns.Add("STATUS", 120, HorizontalAlignment.Left);
            listView1.EndUpdate();
           
        }

        private void button1_Click(object sender, EventArgs e)
        {

            listView1.BeginUpdate();
            DAGebruiker daGebruiker = new DAGebruiker();
            daGebruiker.Open("normal");
            List<Gebruiker> gebruikersList = daGebruiker.GetGebruikers();


            foreach (Gebruiker gebruiker in gebruikersList)
            {
                ListViewItem item = new ListViewItem(gebruiker.GebruikerNr.ToString());
                item.SubItems.Add(gebruiker.GebruikerLogin);
                item.SubItems.Add(gebruiker.GebruikerPaswoord);
                item.SubItems.Add(gebruiker.GebruikerStatus);
                listView1.Items.Add(item);
            }
            daGebruiker.Close();
            listView1.EndUpdate();
        }
 
Solved, heb mijn pooling in mijn connectionstring op false moeten zetten.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan