1. 程式人生 > >Winform連線SQL資料庫並實現使用者登入

Winform連線SQL資料庫並實現使用者登入

首先介紹一下SqlConnection類

SqlConnection類表示一個到SQL Server資料庫的開啟的連線,此類不能被繼承

SqlConnection類的建構函式有如下3個

SqlConnection:初始化 SqlConnection 類的新例項。

SqlConnection(String):如果給定包含連線字串的字串,則初始化 SqlConnection 類的新例項。

SqlConnection(String, SqlCredential):初始化給定連線字串的 SqlConnection類的新例項,而不使用包含使用者識別號和密碼的 Integrated Security = true 和 SqlCredential 物件。

常用的方法

Open 使用 ConnectionString 所指定的屬性設定開啟資料庫連線

Close 關閉與資料庫的連線,此方法是關閉任何已開啟連線的首選方法

CreateCommand  建立並返回一個與SqlConnection關聯的SqlCommand物件

Dispose 釋放由Component使用的所有資源

SqlConnection物件若使用了帶一個string型別引數的建構函式,這個引數叫做連線字串

以下是連線字串的引數名和描述

Data Source 指明伺服器,可以是本地機器,機器域名或者IP地址

Initial Catalog  資料庫名字

Integrated Security  設定為SSPI,使連線使用使用者的Windows登入

User ID 配置在SQL Server中的使用者名稱

Password 與SQL Server的使用者名稱匹配的密碼

下面寫一個類,用於建立SqlConnection物件,便於以後使用

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Text;  
  5. using System.Data.SqlClient;  
  6. namespace Cam  
  7. {  
  8.     class db  
  9.     {  
  10.         publicstatic SqlConnection Camcon()  
  11.         {  
  12.             returnnew SqlConnection("Data Source=(local);Initial Catalog=User;Integrated Security=True");  
  13.         }  
  14.     }  
  15. }  

再說下與資料庫執行相關的SqlCommand 類

SqlCommand 類表示要對SQL Server資料庫執行的一個Transact-SQL語句或儲存過程,此類不能被繼承

SqlCommand 類的建構函式有如下4個

SqlCommand 初始化 SqlCommand 類的新例項。

SqlCommand(String)  用查詢文字初始化 SqlCommand 類的新例項。

SqlCommand(String, SqlConnection)  初始化具有查詢文字和SqlConnection 的 SqlCommand 類的新例項。

SqlCommand(String, SqlConnection,SqlTransaction) 使用查詢文字、 SqlConnection 以及 SqlTransaction 初始化 SqlCommand 類的新例項

常用的方法

Dispose 釋放由 Component 使用的所有資源

EndExecuteNonQuery  完成Transact-SQL語句的非同步執行

EndExecuteReader  完成Transact-SQL語句的非同步執行,返回請求的SqlDataReader

ExecuteNonQuery  對連線執行Transact-SQL語句並返回受影響的行數 

ExecuteScalar 執行查詢,並返回查詢所返回的結果集中第一行的第一列

下面建一個WinForm,實現使用者的登入,使用者名稱和密碼存在User資料庫中


  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.ComponentModel;  
  4. using System.Data;  
  5. using System.Drawing;  
  6. using System.Linq;  
  7. using System.Text;  
  8. using System.Windows.Forms;  
  9. using System.Data.SqlClient;  
  10. namespace Cam  
  11. {  
  12.     public partial class Login : Form  
  13.     {  
  14.         public Login()  
  15.         {  
  16.             InitializeComponent();  
  17.         }  
  18.         privatevoid Login_Load(object sender, EventArgs e)   //游標停在第一行
  19.         {  
  20.             textBox1.TabIndex = 0;  //直接textBox1.Focus();不管用
  21.             textBox1.Focus();  
  22.         }  
  23.         privatevoid button1_Click(object sender, EventArgs e)  
  24.         {  
  25.             if (textBox1.Text == "")  
  26.             {  
  27.                 MessageBox.Show("請輸入使用者名稱""警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);  
  28.             }  
  29.             else
  30.             {  
  31.                 if (textBox2.Text == "")  
  32.                 {  
  33.                     MessageBox.Show("請輸入密碼""警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);  
  34.                 }  
  35.                 else
  36.                 {  
  37.                     SqlConnection conn = db.Camcon();  
  38.                     conn.Open();  
  39.                     SqlCommand cmd = new SqlCommand("select count(*) from login where name='" + textBox1.Text + "'and password='"
  40.                                                                                                + textBox2.Text + "'", conn);  
  41.                     int num = Convert.ToInt32(cmd.ExecuteScalar());  
  42.                     if (num > 0)  
  43.                     {  
  44.                         conn.Close();  
  45.                         MessageBox.Show("登入成功""提示", MessageBoxButtons.OK, MessageBoxIcon.Information);  
  46.                     }  
  47.                     else
  48.                     {  
  49.                         MessageBox.Show("使用者名稱或密碼錯誤""警告", MessageBoxButtons.OK, MessageBoxIcon.Information);  
  50.                     }  
  51.                 }  
  52.             }  
  53.         }  
  54.         privatevoid button2_Click(object sender, EventArgs e)  
  55.         {  
  56.             if (MessageBox.Show("確定退出登入嗎?""提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk) == DialogResult.OK)  
  57.             {  
  58.                 Application.Exit();  
  59.             }  
  60.         }  
  61.         privatevoid textBox1_KeyPress(object sender, KeyPressEventArgs e)  //回車跳到第二行
  62.         {  
  63.             if (e.KeyChar == 13)  
  64.             {  
  65.                textBox2.Focus();  
  66.             }  
  67.         }  
  68.         privatevoid textBox2_KeyPress(object sender, KeyPressEventArgs e)  //回車登入
  69.         {  
  70.             if (e.KeyChar == 13)  
  71.             {  
  72.                 button1_Click(sender, e);  
  73.             }  
  74.         }  
  75.     }  
  76. }  

登入介面如下

相關推薦

Winform連線SQL資料庫實現使用者登入

首先介紹一下SqlConnection類 SqlConnection類表示一個到SQL Server資料庫的開啟的連線,此類不能被繼承 SqlConnection類的建構函式有如下3個 SqlConnection:初始化 SqlConnection 類的新例項。 SqlC

C#連線SQL資料庫顯示的DataGridView中

連線資料庫一般步驟:     1、建立SqlConnection物件;     2、指定SqlConnection物件的ConnectionString 屬性;     3、開啟資料庫連線;     4、指定SQL語句;     5、建立SqlDataAdapter物件和D

C# WinForm連線SQL Server資料庫的不同方式

一、不同字串定義方式 1)直接定義字串並連線 `static SqlConnection conn;//定義連線物件 public static SqlConnection Connection//連線物件的屬性 { g

WinForm程式如何連線SQL資料庫

用Visual Studio 2008寫的WinForm程式與SQL資料庫連線方法: 1、右擊該WinForm程式所在專案—>新增—>新建項—>選“應用程式配置檔案”—>確定,此時可以看到專案中多了一個“App.config”檔案 2、開啟App.c

jsp連線oracle資料庫實現簡單登入功能,來自網路,部分修改。(亞信聯創實習)

共三個頁面:login.jsp、loginconf.jsp、loginsucess.jsp 使用者首先開啟login.jsp輸入使用者名稱及密碼,此時login.jsp會將輸入的使用者名稱及密碼提交到loginconf.jsp loginconf.jsp通過初始化連線資料庫

C#winform直接連線SQL資料庫mdf檔案

1.首先mdf檔案必須是SQLServer2008及以下資料庫,最好是2005版本的資料庫 2.將mdf檔案這裡以資料庫檔案“Test.mdf”為例,放於與程式Bin資料夾同文件夾下 3.在Program.cs檔案中,Main()方法下,新增如下程式碼 string dat

[原創]否允許連線資料庫引擎”和“登入”的區別

“是否允許連線到資料庫引擎”和“登入”的區別 sql server 2005中登入名的狀態裡面有個設定選項,裡面包括了“是否允許連線到資料庫引擎”選項為“授予”、“拒絕”,還有一個“登入”選項,包括“啟用”,“禁用”。這兩項有什麼區別嗎?   下面分享一些個人的瞭解。 &n

【Mac系統 + Python + Django】之開發一個釋出會系統【Django模型(二)】 【Mac系統 + Mysql】之安裝Mysql資料庫 【Python + Mysql】之用pymysql庫連線Mysql資料庫進行增刪改查操作

上一部分給大家介紹Django的檢視。 接下來繼續來了解Django框架,來看第二部分,此部分是對資料庫的操作。   目錄: 一、設計系統表 二、admin後臺管理 三、基本資料訪問(SQLite資料庫) 四、Django配置MySQL   &

Python Test API - 用python連線Oracle資料庫操作

目的: 通過python連線遠端的一臺oracle資料庫伺服器,並用python程式碼實現增刪改查的操作。本研究是為測試API準備資料庫環境的第一步。 環境配置(如果用64bit的,就都需要64bit):  1. 在本地計算機上安裝好oralce client (64bit) 2.

C#連線sql server讀取表資料

     引入sql客戶端的dll using System.Data; using System.Data.SqlClient; SqlConnection con = new SqlConnection();       &nb

flask學習:連線mysql資料庫建表

1.首先要下載 flask_sqlalchemy 和  flask_mysqldb。 一般在pycharm中可以搜尋到並且下載。如果出現問題,可以百度一下。 2.配置資料庫的相關設定: root:root,前一個是資料庫使用者名稱,後一個是密碼。 #配置資料庫的地址 a

Java連線SQL資料庫時碰到com.microsoft.sqlserver.jdbc.SQLServerException: ')' 附近有語法錯誤。

在寫一個小東西的時候遇到了這個問題,不知道怎麼解決。 希望大神們能幫忙解決下。 com.microsoft.sqlserver.jdbc.SQLServerException: ')' 附近有語法錯誤。     at com.microsoft.sqlserv

python連線MySQL資料庫讀取資料

# 匯入模組 import pymysql # 1.連線到mysql資料庫 conn = pymysql.connect(host='localhost', user='root', password='1234', db='mycommodity', cha

.netcore中使用EFCore連線SQL Server部署至Ubuntu

前面一篇記錄瞭如何在windows下開發asp.net core程式,並部署至ubuntu系統中。但僅僅是建立了一個demo專案,專案本身並沒有實現多少功能。多數時候,我們的專案是要和資料庫打交道。EntityFramework作為微軟提供的基於ADO.NET的ORM解決方案,在dotnet core中,輕量

Winform 連線 Oracle資料庫 查詢表所有資訊 在 dataGridView中顯示

1 連線資料庫查詢資料以DataTable返回值 public static DataTable GetPlanList() { DataTable dt = new DataTable(); try

JSP連線SQL資料庫

首先看一下JDBC架構: 2、jdbc工作原理   -----------------------------分割線 -------------------------------------------------------------------- &nb

Unity連線Sql資料庫(PC端)

宣告:Unity版本:5.2.3f1,資料庫版本:SqlServer 20081.複製System.Data.Dll檔案到Unity工程中(與Unity的安裝路徑有關) 注意:複製後的檔案放在與你程式碼同級目錄即可 2. 新建一個用於連線資料庫的指令碼新增以下引用:(如果引用後報錯,將Api

java連線MySql資料庫 實現使用者登入功能

一: 準備工作        1.首先將MySql的jar包匯入專案檔案中,在進行連線。(Build path--> Add)        2.寫好配置檔案(dbinfo.properties)        3.               4.建立相應的類進行。二

利用powerDesigner16.5連線oracle資料庫自動生成表結構圖過程及所遇到的坑

配置過程 1、點選file-->new model 2.選擇model types ,選擇physical data model ,mode name是你自己新建的名字,這個隨意,DBMS是你對應資料庫版本,我的是oracle version11g,選擇

JDBC——用JDBC連線MySQL資料庫進行簡單的增刪改查操作

一、什麼是JDBC Java 資料庫連線,(Java Database Connectivity,簡稱JDBC)是Java語言中用來規範客戶端程式如何來訪問資料庫的應用程式介面,提供了諸如查詢和更新資料庫中資料的方法。(摘自維基百科) 二、簡單的JDBC例項 現在使用JDB