如何解決SQL錯誤:18456
右鍵數據庫->屬性,安全性選擇以下模式;然後重啓數據庫引擎
解決錯誤18470->啓用sa賬戶(狀態選擇啓用)
忘記sa密碼的解決方式
先勾掉“強制實施密碼策略”,修改密碼後再勾選上即可
連接SQL數據庫
首先添加引用
using System.Data.SqlClient;
構建鏈接字符串
string connString = "Server=服務器名稱;DataBase=數據庫名;Uid=sa;Pwd=密碼";
新建連接對象
SqlConnection conn = new SqlConnection(connString);
增
//構建SQL命令
string sql = "insert into Goods(GName,GCost,GDate,GCreater,GLocation)";
sql += "values('{0}','{1}','{2}','{3}','{4}')";
sql = string.Format(sql, "Surface Book2", 12999, "2019-03-26", "MS Inc", 1);
SqlCommand cmd = new SqlCommand(sql, conn);
//連接+執行
conn.Open();
int result = cmd.ExecuteNonQuery();
conn.Close();
刪
//構建SQL命令
string sql = "delete from Goods where GUid="+10004;
SqlCommand cmd = new SqlCommand(sql, conn);
//連接+執行
conn.Open();
int result = cmd.ExecuteNonQuery();
conn.Close();
改
//構建SQL命令
string sql = "update Goods set GCost='{0}' where GName='{1}'";
sql = string.Format(sql, 17999, "Surface Book2");
SqlCommand cmd = new SqlCommand(sql, conn);
//連接+執行
conn.Open();
int result = cmd.ExecuteNonQuery();
conn.Close();
同時遞交多個SQL語句只需要將其用分號隔開即可 sql1+";"+sql2+";"+sql3
獲取標識列
在SQL語句後面加一個select @@IDENTITY
//構建SQL命令
string sql = "insert into Goods(GName,GCost,GDate,GCreater,GLocation)";
sql += "values('{0}','{1}','{2}','{3}','{4}');select @@IDENTITY";
sql = string.Format(sql, "Surface Go", 3299, "2019-03-26", "MS Inc", 2);
SqlCommand cmd = new SqlCommand(sql, conn);
//連接+執行
conn.Open();
object result = cmd.ExecuteScalar();//修改執行函數
int ID = Convert.ToInt32(result);//轉換數據類型
conn.Close();
查-單一結構(某個數據)
//構建SQL命令
string sql = "select Count(*) from Goods";
SqlCommand cmd = new SqlCommand(sql, conn);
//連接+執行
conn.Open();
object result = cmd.ExecuteScalar();//修改執行函數
int ID = Convert.ToInt32(result);//轉換數據類型
conn.Close();
查-具體對象
//構建SQL命令
string sql = "select * from Goods";//可以附加where條件加以限制
SqlCommand cmd = new SqlCommand(sql, conn);
//連接+執行
conn.Open();
SqlDataReader obj = cmd.ExecuteReader();//查詢
while (obj.Read())
{
data=obj["GName"].ToString() + " " + obj["GCost"].ToString();
}
obj.Close();//關讀取器
conn.Close();
獲取多個結果集
if (obj.NextResult())//判斷是否有下一個結果集
while (obj.Read())
{
data = obj["GName"].ToString() + " " + obj["GCost"].ToString();
}