第一部分 建表
- 打開SSMS(sql server management studio),建數據庫和建表
- 建表時,關於數據類型:
nvarchar(n):字符串,最大長度n
timestamp:存儲時間,默認設置爲getdate()
- 讀入數據:考察csharp讀取和寫入xml文件
- Sql常用語句
(1)查詢語句:
SELECT column_name,column_name
FROM table_name
WHERE column_name operator value
(2)連接兩個表
Select * FROM 表1 INNER JOIN 表2 ON 表1.字段號=表2.字段號
(3)連接三個表
Select * FROM (表1 INNER JOIN 表2 ON 表1.字段號=表2.字段號) INNER JOIN 表3 ON 表1.字段號=表3.字段號
(4)插入內容
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
INSERT INTO table_name
VALUES (value1,value2,value3,...);
(5)排序
SELECT column_name,column_name
FROM table_name
ORDER BY column_name,column_name ASC|DESC; (默認ASC升序,DESC降序)
(6)統計某一個類別的數量
SELECT COUNT(column_name) as newname FROM table_name
group by column_name1, column_name2
(7)模糊查詢:查詢中間含有123的ID
select * from hs_user where ID like '%123%'
(8)having
HAVING aggregate_function(column_name) operator value;
(在 SQL 中增加 HAVING 子句原因是,WHERE 關鍵字無法與聚合函數一起使用)
- c#執行sql語句方法:
(1)sql執行方法一:
SqlCommand command = new SqlCommand(strCmd, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
while(reader.Read())
{
MessageBox.Show(reader["學號"].ToString());
}
connection.Close();
(2)sql執行方法二:
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(strCmd, connection);
DataTable dataTable = new DataTable();
sqlDataAdapter.Fill(dataTable);
dGVScores.DataSource = dataTable;
(3)sql插入指令執行:
connection.Open();
using(SqlCommand command = new SqlCommand(strCmd, connection))
{
command.ExecuteNonQuery();
}
connection.Close();
6、windows form 控件:
一、DataGridView控件:顯示網絡表格
(1)在DataGridView中添加單行數據
int index = this.dGVScores.Rows.Add();
this.dGVScores.Rows[index].Cells[0].Value = "1";
this.dGVScores.Rows[index].Cells[1].Value = "2";
(2)顯示所有數據:
dGVScores.DataSource = dataTable;
二、comboBox控件:顯示下拉菜單
(1)添加列表:
comboBox1.Items.Add(dr["EmpNo"]);
- xml文件處理
(1)讀取所有xml文件中的數據
XmlDocument doc = new XmlDocument();
XmlReaderSettings settings = new XmlReaderSettings();
settings.IgnoreComments = true; //忽略文檔裏面的註釋
XmlReader reader = XmlReader.Create(@"C:\Users\76982\Desktop\sample.xml", settings);
doc.Load(reader);
得到根節點students:
XmlNode xn = doc.SelectSingleNode("students");
得到節點下的所有子節點
XmlNodeList xmlStudents = xn.ChildNodes;
//處理每個student
foreach (XmlNode xnl in xmlStudents)
{
Students student = new Students();
XmlNodeList xnls = xnl.ChildNodes;
//獲取子節點的內容
student.studentID = xnls.Item(0).InnerText;
student.studentName = xnls.Item(1).InnerText;
//獲取子節點的屬性值
student.projectName_1 = xnls.Item(2).Attributes.GetNamedItem("課程名").InnerText;
student.projectID_1 = xnls.Item(2).Attributes.GetNamedItem("課程號").InnerText;
student.projectScore_1 = xnls.Item(2).InnerText;
student.projectName_2 = xnls.Item(3).Attributes.GetNamedItem("課程名").InnerText;
student.projectID_2 = xnls.Item(3).Attributes.GetNamedItem("課程號").InnerText;
student.projectScore_2 = xnls.Item(3).InnerText;
/*
MessageBox.Show(student.studentID + student.studentName +
student.projectName_1 + student.projectScore_1 + student.projectID_1 +
student.projectName_2 + student.projectScore_2 + student.projectID_2);
*/
students.Add(student);
}
(2)寫入數據到xml文件
//xml文件設置
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
string xmlPath = @"C:\軟件工程考研複試機試——李釗華\sample2016.xml";
XmlWriter writer = XmlWriter.Create(xmlPath, settings);
//寫入文檔聲明
writer.WriteStartDocument();
//寫入新元素
writer.WriteStartElement("students");
//寫入分支元素
writer.WriteStartElement("student");
//寫入分支元素
writer.WriteStartElement("學號");
writer.WriteString("1");//寫入元素內容
writer.WriteEndElement();
writer.WriteStartElement("姓名");
writer.WriteString("李釗華");
writer.WriteEndElement();
writer.WriteStartElement("課程");
writer.WriteAttributeString("課程號", "1");//寫入元素屬性
writer.WriteAttributeString("課程名", "開心");
writer.WriteString("90");
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Flush();//刷新
writer.Close();
結果:
<?xml version="1.0" encoding="utf-8"?>
<students>
<student>
<學號>1</學號>
<姓名>李釗華</姓名>
<課程 課程號="1" 課程名="開心">90</課程>
</student>
</students>
常見問題彙總:
問題一:sqlserver 2008 保存好的數據表不能更改數據類型問題解決
如圖操作即可
ssms提醒已創建好的表是無效表的話記得刷新