Разработка подсистемы учёта и поиска электронной литературы

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

оДокумента=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>