(C#)SQL連線語句中的Integrated Security(使用Windows身份驗證時,連必填的部分)

Zxl19990529發表於2018-02-09

自學的時候,視訊裡的老師直接把專案開啟,就演示,不明所以,於是自己各種Baidu,終於發現連線不上的問題原因了。

文字欄裡面輸入資料庫名稱,,記下來,

接下來是設計器程式碼:

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 System.Data.SqlClient;
namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text=="")
            {
                label1.Text = "請輸入名稱";
            }
            else
            {
                try
                {//這裡開始發現問題關鍵
                  string constr = "server=DESKTOP-447BADG;Integrated Security=SSPI;database=" + textBox1.Text.Trim();
                    SqlConnection conn = new SqlConnection(constr);
                    conn.Open();
                    if(conn.State==ConnectionState.Open)
                    {
                        label1.Text = "資料庫已開啟";
                    }
                }
                catch
                {
                    MessageBox.Show("連線資料庫失敗");
                }
            }
        }
    }

}

server裡面的東西是畫綠圈的地方:

然後如果你登入的時候是這樣:

那就必須有Integrated Security=SSPI;

或者 Integrated Security=true; 同樣可以;

 

要是這種方式驗證的話:

那  string constr = "server=DESKTOP-447BADG;Integrated Security=SSPI;database=" + textBox1.Text.Trim();

就要改成 string constr = "server=DESKTOP-447BADG;;database=" + textBox1.Text.Trim()+"uid=登入名;psw=密碼";

相關文章