using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient; //须引用此命名空间
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace testProc
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//控件Button2个、TextBox2个、DataGridView1个
//分别命名为btnShow、btnLogin、txtUid、txtPwd、dgvDisplay
private void btnShow_Click(object sender, EventArgs e)
{//调用显示所有用户的存储过程spSelectAll
string cnnString = "server=.\\sqlexpress;database=testprocedure;integrated security=true";
SqlConnection cnn = new SqlConnection(cnnString);
cnn.Open();
SqlCommand cmd = new SqlCommand("spSelectAll ", cnn);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataReader dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);
dgvDisplay.DataSource = dt;
cnn.Close();
}
private void btnLogin_Click(object sender, EventArgs e)
{//调用登录存储过程spLogin
string cnnString = @"server=.\sqlexpress;database=testprocedure;integrated security=true";
SqlConnection cnn = new SqlConnection(cnnString);
SqlCommand cmd = new SqlCommand("spLogin ", cnn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@user", SqlDbType.NVarChar, 20);
cmd.Parameters["@user"].Value = txtUid.Text;
cmd.Parameters.AddWithValue("@pass", txtPwd.Text);
cmd.Parameters.Add("@auth", SqlDbType.TinyInt, 2);
cmd.Parameters["@auth"].Direction = ParameterDirection.Output;
cmd.Parameters.Add("@returnValue", SqlDbType.SmallInt);
cmd.Parameters["@returnValue"].Direction = ParameterDirection.ReturnValue;
cnn.Open();
cmd.ExecuteNonQuery();
if (cmd.Parameters["@returnValue"].Value.ToString() == "1")
{
MessageBox.Show("Success");
}
else
{
MessageBox.Show("Fail");
}
}
}
}
在SQL Server中定义存储过程见上一篇。