1.学会利用断电,在所在行,按住F9,添加断点,然后调试的时候,鼠标指向变量,就可以知道赋值情况,这个实验了解的是变量的路径情况
2.在程序的入口添加的相对路径,理解相对路径和绝对路径
3.SearchOption.AllDirectories搜索本文件夹和所有子目录
4.GetOrdinal()获取查询的某个属性,以名字作为索引
namespace 车牌查询
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load_1(object sender, EventArgs e)
{
using (SqlConnection conn = new SqlConnection("Data Source=DESKTOP-BEUJ3C4;Initial Catalog=DBCarId;User ID=sa;Password =2323010676;"))
{
conn.Open();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "delete from Table_CarId";
cmd.ExecuteNonQuery(); //每次程序运行之前,清除数据库,可以保持数据库的不重复
string filePath = Application.StartupPath; //断点,调试就可以知道StarupPath到底是什么路径
string[] files = Directory.GetFiles(filePath, "*.txt", SearchOption.AllDirectories);//将找到的".txt"格式的文件储存到前面files数组中
foreach (string file in files)//增强for循环,一边遍历数据,一边储存数据
{
string sheng = Path.GetFileNameWithoutExtension(file);//以每个文件的名字,存到"省"中
string[] lines = File.ReadAllLines(file, Encoding.Default);//逐行读取数据
foreach (string line in lines)
{
string[] str = line.Split(' ');//以' '为分隔符
string shi = str[0];//索引
string chepai = str[1];
cmd.CommandText = "insert into Table_CarId(省,市,车牌) values(@sheng,@shi,@chepai)";
cmd.Parameters.Clear();
cmd.Parameters.Add(new SqlParameter("sheng", sheng));
cmd.Parameters.Add(new SqlParameter("shi", shi));
cmd.Parameters.Add(new SqlParameter("chepai", chepai));
cmd.ExecuteNonQuery();
}
}
cmd.CommandText = "select 省 from Table_CarId group by 省"; //自动查询省的代码,放入相应的位置
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
cbxSheng.Items.Add(reader.GetString(reader.GetOrdinal("省")));//获取上面查询语句的某一个属性
}
}
// cbxSheng.Items.Add("安徽省"); //这里知道文件里面只有三个省,提前添加
// cbxSheng.Items.Add("江苏省");
// cbxSheng.Items.Add("浙江省");
}
private void cbxSheng_SelectedIndexChanged_1(object sender, EventArgs e)
{
cbxShi.Items.Clear();
cbxShi.Text = "";
txtChepai.Text = "";
using (SqlConnection conn = new SqlConnection ("Data Source=DESKTOP-BEUJ3C4;Initial Catalog=DBCarId;User ID=sa;Password =2323010676;"))
{
conn.Open();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "select * from Table_CarId where 省=@sheng";
cmd.Parameters.Add(new SqlParameter("sheng", cbxSheng.Text));
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
cbxShi.Items.Add(reader.GetString(reader.GetOrdinal("市")));
}
}
}
private void btnSelect_Click_1(object sender, EventArgs e)
{
using (SqlConnection conn = new SqlConnection("Data Source=DESKTOP-BEUJ3C4;Initial Catalog=DBCarId;User ID=sa;Password =2323010676;"))
{
conn.Open();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "select * from Table_CarId where 市=@shi";
cmd.Parameters.Add(new SqlParameter("shi", cbxShi.Text));
SqlDataReader reader = cmd.ExecuteReader();
if (reader.Read())
{
txtChepai.Text = reader.GetString(reader.GetOrdinal("车牌"));
}
}
}
private void cbxShi_SelectedIndexChanged(object sender, EventArgs e)
{
txtChepai.Text = "";
}
}
}