AI智能
改变未来

C#简单智能查询


C#简单智能查询

效果

代码

这是我在网上找的方法,不同的是加入了角色。
1.新建GetChineseSpell和getSpell:

static public string GetChineseSpell(string strText){int len = strText.Length;string myStr = \"\";for (int i = 0; i < len; i++){myStr += getSpell(strText.Substring(i, 1)); ;}return myStr;}
static public string getSpell(string cnChar){byte[] arrCN = Encoding.Default.GetBytes(cnChar);if (arrCN.Length > 1){int area = (short)arrCN[0];int pos = (short)arrCN[1];int code = (area << 8) + pos;int[] areacode = { 45217, 45253, 45761, 46318, 46826, 47010, 47297, 47614, 48119, 48119, 49062, 49324, 49896, 50371, 50614, 50622, 50906, 51387, 51446, 52218, 52698, 52698, 52698, 52980, 53689, 54481 };for (int i = 0; i < 26; i++){int max = 55290;if (i != 25){max = areacode[i + 1];}if (areacode[i] <= code && code < max){return Encoding.Default.GetString(new byte[] { (byte)(65 + i) });}}return \"a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z\";}else{return cnChar;}}

2.拖入一个comboBox,在comboBox1_TextUpDate中编辑(因为本系统角色较多,所以每个if下面的内容基本相同):

private void comboBox1_TextUpdate(object sender, EventArgs e){if (textBox10.Text.Trim() == \"工程师\"){string a = comboBox1.Text.Trim();DBHelper.conn.Open();SqlCommand cmd = new SqlCommand(a, DBHelper.conn);cmd.CommandText = \"select yaopin from Table_yaopin where weishengyuan = \'工程师\'\";SqlDataReader sdr = cmd.ExecuteReader();List<string> sList = new List<string>();while (sdr.Read()){sList.Add(sdr[\"yaopin\"].ToString().Trim());}DBHelper.conn.Close();comboBox1.DroppedDown = true;Cursor.Current = Cursors.Default;foreach (string str in sList){if (a.Length > 0){if (GetChineseSpell(str.ToString()).ToLower().Contains(comboBox1.Text.ToLower())){if (comboBox1.Items.IndexOf(str) < 0)comboBox1.Items.Add(str);}else{if (comboBox1.Items.IndexOf(str) >= 0)comboBox1.Items.Remove(str);}}else{comboBox1.DroppedDown = false;comboBox1.Items.Clear();}}}if (textBox10.Text.Trim() == \"卫生院药房\"){string a = comboBox1.Text.Trim();DBHelper.conn.Open();SqlCommand cmd = new SqlCommand(a, DBHelper.conn);cmd.CommandText = \"select yaopin from Table_yaopin where work = \'\" + textBox11.Text + \"\'\";SqlDataReader sdr = cmd.ExecuteReader();List<string> sList = new List<string>();while (sdr.Read()){sList.Add(sdr[\"yaopin\"].ToString().Trim());}DBHelper.conn.Close();comboBox1.DroppedDown = true;Cursor.Current = Cursors.Default;foreach (string str in sList){if (a.Length > 0){if (GetChineseSpell(str.ToString()).ToLower().Contains(comboBox1.Text.ToLower())){if (comboBox1.Items.IndexOf(str) < 0)comboBox1.Items.Add(str);}else{if (comboBox1.Items.IndexOf(str) >= 0)comboBox1.Items.Remove(str);}}else{comboBox1.DroppedDown = false;comboBox1.Items.Clear();}}}if (textBox10.Text.Trim() == \"村医\"){string a = comboBox1.Text.Trim();DBHelper.conn.Open();SqlCommand cmd = new SqlCommand(a, DBHelper.conn);cmd.CommandText = \"select yaopin from Table_yaopin where weishengyuan = \'\" + textBox11.Text + \"\' and work = \'\" + textBox3.Text + \"\'\";SqlDataReader sdr = cmd.ExecuteReader();List<string> sList = new List<string>();while (sdr.Read()){sList.Add(sdr[\"yaopin\"].ToString().Trim());}DBHelper.conn.Close();comboBox1.DroppedDown = true;Cursor.Current = Cursors.Default;foreach (string str in sList){if (a.Length > 0){if (GetChineseSpell(str.ToString()).ToLower().Contains(comboBox1.Text.ToLower())){if (comboBox1.Items.IndexOf(str) < 0)comboBox1.Items.Add(str);}else{if (comboBox1.Items.IndexOf(str) >= 0)comboBox1.Items.Remove(str);}}else{comboBox1.DroppedDown = false;comboBox1.Items.Clear();}}}}

3.完成。

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » C#简单智能查询