Разработка подсистемы учёта и поиска электронной литературы
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
оДокумента=0;["DocNom"]=this.порядковыйНомерТекущегоДокумента.ToString();
#region подготовка.....ListBox2.Items.Clear();
//ReadSlovari();
условие=new uslov[this.ListBoxTableUslov.Items.Count];(int i=0;i<this.ListBoxTableUslov.Items.Count;i++)
{[] str=new string[4];[] sep=new char[1];[0]=|;=this.ListBoxTableUslov.Items[i].Text.Split(sep);
условие[i].Словарь=str[0];
условие[i].Условие=str[1];
условие[i].Терм=str[2];(i>0)
условие[i-1].Операнд=str[3];
условие[i].Операнд=str[3];
for(int k=0;k<словарь.Length;k++)(str[0].Trim()==словарь[k].RussianCaption.Trim())
{.словарь[k].used=true;.условие[i].Таблица=this.словарь[k].TableName;
}
}.Data.DataSet ds=new DataSet();
//System.Data.OleDb.OleDbConnection oleDbConnection1=new System.Data.OleDb.OleDbConnection( @"Integrated Security=SSPI;User ID=Администратор;Data Source=""DIPLOM20-27A214"";Tag with column collation when possible=False;Initial Catalog=vgtu_lib;Use Procedure for Prepare=1;Auto Translate=True;Persist Security Info=False;Provider=""SQLOLEDB.1"";Workstation ID=""DIPLOM20-27A214"";Use Encryption for Data=False;Packet Size=4096");.Data.OleDb.OleDbConnection oleDbConnection1=new System.Data.OleDb.OleDbConnection( @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Request.MapPath(Request.ApplicationPath)+"/vgtu_lib.mdb");.Data.OleDb.OleDbDataAdapter adapter1=new System.Data.OleDb.OleDbDataAdapter("SELECT * FROM METAIDX",oleDbConnection1);.Data.OleDb.OleDbCommand команда=new System.Data.OleDb.OleDbCommand("SELECT * FROM METAIDX",oleDbConnection1);.SelectCommand=команда;.Open();
//++++++++++++++++
#endregion
#region отбор ключей терм.Tables.Clear();(int w=0;w<условие.Length;w++)
{
//команда.CommandText="SELECT IDX_ID FROM ";
команда.CommandText="SELECT ";
команда.CommandText+="IDX"+this.условие[w].Таблица+".IDX_ID ";
команда.CommandText+=" FROM ";
команда.CommandText+="IDX"+this.условие[w].Таблица+" ";
команда.CommandText+="WHERE ";(условие[w].Терм.Trim()!="" | условие[w].Условие=="Есть значение" | условие[w].Условие=="Нет значения")
{(условие[w].Условие)
{"Равно": команда. CommandText+="IDX"+this.условие[w].Таблица+"."+"TERM=";break;"Не равно": команда.CommandText+="NOT "+"IDX"+this.условие[w].Таблица+"."+"TERM=";break;"Включает": команда.CommandText+="IDX"+this.условие[w].Таблица+"."+"TERM LIKE %";break;"Не включает": команда. CommandText+="NOT "+"IDX"+this.условие[w]. Таблица+"."+"TERM LIKE %";break;"Начинается с": команда.CommandText+="IDX"+this.условие[w]. Таблица+"."+"TERM LIKE ";break;"Не начинается с": команда. CommandText+="NOT "+"IDX"+this.условие[w].Таблица+"."+"TERM LIKE ";break;"Больше": команда.CommandText+="IDX"+this.условие[w].Таблица+"."+"TERM >";break; "Больше или равно": команда. CommandText+="IDX"+this.условие[w].Таблица+"."+"TERM >=";break;"Меньше": команда. CommandText+="IDX"+this.условие[w].Таблица+"."+"TERM <"; break; "Меньше или равно": команда. CommandText+="IDX"+this.условие[w].Таблица+"."+"TERM <=";break;"Есть значение": команда. CommandText+="IDX"+this.условие[w].Таблица+"."+"TERM IS NOT NULL";break;"Нет значения": команда. CommandText+="IDX"+this.условие[w].Таблица+"."+"TERM IS NULL";break;
}(условие[w].Условие!="Есть значение" & условие[w].Условие!="Нет значения")
команда.CommandText+=условие[w].Терм;(условие[w].Условие)
{
case "Равно":команда.CommandText+="";break;"Не равно":команда.CommandText+="";break;"Включает":команда.CommandText+="%";break;
case "Не включает":команда.CommandText+="%";break;"Начинается с":команда.CommandText+="%";break;"Не начинается с":команда.CommandText+="%";break;
case "Больше":команда.CommandText+="";break;
case "Больше или равно":команда.CommandText+="";break;
case "Меньше":команда.CommandText+="";break;
case "Меньше или равно":команда.CommandText+="";break;
}
}
{.SelectCommand=команда;.Tables.Add();
adapter1.Fill(ds.Tables[ds.Tables.Count-1]);//с этого момента датасет хранит ключи подходящих термов
}
{
}
}
#endregionFindKeys=true;
{stroka=ds.Tables[0].Rows[0][0].ToString();
}
{=false;
}
//ds.WriteXml(Request.MapPath(Request.ApplicationPath)+"/1.xml");
if(FindKeys) //если есть подходящие термы, то выбираем ключи документов
{
#region отбор ключей документов
команда.CommandText="";
//System.Data.DataSet ds2=new DataSet();(int w=0;w<условие.Length;w++)
{
команда.CommandText+="SELECT IDX"+this.условие[w].Таблица+
0)">"X.DOC_ID FROM IDX"+this.условие[w].Таблица+"X WHERE IDX"+.условие[w].Таблица+"X.IDX_ID IN(";(ds.Tables[w].Rows.Count>0)
{(int i=0;i<ds.Tables[w].Rows.Count;i++)(i!=ds.Tables[w].Rows.Count-1)
команда.CommandText+=""+ds.Tables[w].Rows[i][0].ToString()+",";
команда.CommandText+=""+ds.Tables[w].Rows[i][0].ToString()+"";
}е
{
команда.CommandText+="невозможная комбинация";
}
команда.CommandText+=")";
(w!=0)(условие[w].Операнд=="ИЛИ" | w==условие.Length-1)
for(int i=w-1;i>=0;i--)
{(условие[i].Операнд!="ИЛИ")
команда.CommandText+=")";;
}(w!=условие.Length-1)
{(условие[w].Операнд=="И")
команда.CommandText+="AND IDX"+this.условие[w].Таблица+"X.DOC_ID IN (";(условие[w].Операнд=="ИЛИ")
команда.CommandText+=" UNION ";(условие[w].Операнд=="И НЕ")
команда.CommandText+="AND NOT IDX"+this.условие[w].Таблица+"X.DOC_ID IN (";
}
}
{.SelectCommand=команда;.Tables.Clear();
adapter1.Fill(ds);//с этого момента датасет хранит ключи подходящих документов
}
{
}
//добавим ключи подходящих доков в список
try
{stroka=ds.Tables[0].Rows[0][0].ToString();
}
{=false;
}
//this.Label1.Text+="/////////"+ds.Tables[0].Rows[0][0].ToString();(FindKeys)(int i=0;i<ds.Tables[0].Rows.Count;i++)
{include=false;(int j=0;j<this.ListBox2.Items.Count;j++)(this.ListBox2.Items[j].Text==ds.Tables[0].Rows[i][0].ToString())=true;(!include).ListBox2.Items.Add(ds.Tables[0].Rows[i][0].ToString());
}
#endregion
}
0)">//+++++++++++++++++.Close();(this.ListBox2.Items.Count>0)
{.Panel5.Visible=true;
}
//this.TableUslov.DataBind();
#endregion
}void ImageButton4_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{(this.порядковыйНомерТекущегоДокумента>0).порядковыйНомерТекущегоДокумента--;["DocNom"]=this.порядковыйНомерТекущегоДокумента.ToString();
}void ImageButton5_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{(this.порядковыйНомерТекущ?/p>