如何將 SQL 資料添加到 C# 中的變數中?謝謝你的幫助。
string user = textBox1.Text;
string password = textBox2.Text;
con = new SqlConnection("...");//actually, there is a connection string but because of security, I'm not sharing it with you.
com = new SqlCommand();
con.Open();
com.Connection = con;
com.CommandText = "Select*From login where username='" textBox1.Text
"'And sifre='" textBox2.Text "'";
dr = com.ExecuteReader();
if (dr.Read())
{
}
這是我的登錄代碼,它將打開一個新表單,但首先我應該找到它的用戶名資料并將其放入變數中。
uj5u.com熱心網友回復:
這是一個要遵循的模式,將您的資料操作放在一個單獨的類中并在您的表單中呼叫。這里Login的類可以是你想用所需屬性呼叫它的任何東西。
public class Login
{
public int Id { get; set; }
. . .
}
模擬資料類,在這里select *使用而不是僅指定所需的列,我假設第一列是主鍵,它可能會或可能不會根據需要進行調整,并將其他列/屬性添加到Login類實體中。
public class DataOperations
{
// caller validates parameters have values
public static Login DoSomething(string userName, string sifre)
{
Login login = new Login();
var selectStatement = "SELECT * FROM login WHERE username= @userName AND sifre = @sifre";
using (var cn = new SqlConnection("TODO"))
{
using (var cmd = new SqlCommand(selectStatement, cn))
{
cmd.Parameters.Add("@userName", SqlDbType.NVarChar).Value = userName;
cmd.Parameters.Add("@sifre", SqlDbType.NVarChar).Value = sifre;
cn.Open();
var reader = cmd.ExecuteReader();
if (!reader.HasRows) return login;
reader.Read();
login.Id = reader.GetInt32(0);
}
}
return login;
}
}
在您的表單中呼叫上述方法
Login login = DataOperations.DoSomething("TODO", "TODO");
uj5u.com熱心網友回復:
Karen 的代碼,使用 Dapper(右擊專案,選擇 Manage Nuget Packages,點擊 Browse,輸入 Dapper):
public static Login DoSomething(string userName, string sifre)
{
using var c = new SqlConnection("conn str here");
var id = c.ExecuteScalar<int?>(
"SELECT id FROM login WHERE username= @u AND sifre = @s",
new{ u = textBox1.Text, s = textBox2.Text }
);
return new Login() { Id = id ?? 0 };
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/472105.html
下一篇:計算變數時系統缺失
