⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 selectbook.h

📁 Visual C++.net数据库开发经典案例
💻 H
字号:
#pragma once
#include "LinkDataBase.h"
#include "DataGridNoActiveCellColumn.h"

using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;


namespace My
{
	/// <summary> 
	/// SelectBook 摘要
	///
	/// 警告: 如果您更改该类的名称,则将需要更改 
	///          与该类所依赖的所有 .resx 文件关联的托管资源编译器工具的 
	///          “资源文件名”属性。  否则,
	///          设计器将不能与此窗体关联的
	///          本地化资源正确交互。
	/// </summary>
	public __gc class SelectBook : public System::Windows::Forms::Form
	{
		//--------------------成员声明------------------------
	private:
		LinkDataBase* MyDataBase;	//数据库连接类
		SqlDataAdapter* BookAdapter;
		DataSet* ds;
		String* strTableName;
		String* strSQL;
	public:
		String* strBookName;
		String* strBookID;

		//-------------------成员声明结束-----------------------
	public: 
		SelectBook(void)
		{
			InitializeComponent();
			//初始化
			this->MyDataBase = new LinkDataBase();
			this->ds = new DataSet();
			this->BookAdapter = new SqlDataAdapter();		

			//查询图书信息
			this->strSQL = S"Select * from 图书信息";
			this->strTableName = S"图书信息";
			this->MyDataBase->SelectDataBase(this->BookAdapter,this->ds,this->strSQL,this->strTableName);

			
			//设置DataGrid
			this->dgrdBooks->DataSource = this->ds->Tables->Item[S"图书信息"];
			this->DataGridStateControl();			
		}
        
	protected: 
		void Dispose(Boolean disposing)
		{
			if (disposing && components)
			{
				components->Dispose();
			}
			__super::Dispose(disposing);
		}
	private: System::Windows::Forms::GroupBox *  groupBox1;
	private: System::Windows::Forms::Button *  btnSearch;
	private: System::Windows::Forms::Label *  label1;
	private: System::Windows::Forms::Label *  label2;
	private: System::Windows::Forms::Label *  label4;
	private: System::Windows::Forms::TextBox *  tBoxBookID;
	private: System::Windows::Forms::TextBox *  tBoxBookName;
	private: System::Windows::Forms::DataGrid *  dgrdBooks;
    private: System::Windows::Forms::TextBox *  tBoxWritter;
	private: System::Windows::Forms::ImageList *  imageList1;
	private: System::ComponentModel::IContainer *  components;
	private:
		/// <summary>
		/// 必需的设计器变量。
		/// </summary>


		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		void InitializeComponent(void)
		{
			this->components = new System::ComponentModel::Container();
			System::Resources::ResourceManager *  resources = new System::Resources::ResourceManager(__typeof(My::SelectBook));
			this->groupBox1 = new System::Windows::Forms::GroupBox();
			this->tBoxBookID = new System::Windows::Forms::TextBox();
			this->label2 = new System::Windows::Forms::Label();
			this->tBoxWritter = new System::Windows::Forms::TextBox();
			this->label1 = new System::Windows::Forms::Label();
			this->btnSearch = new System::Windows::Forms::Button();
			this->imageList1 = new System::Windows::Forms::ImageList(this->components);
			this->tBoxBookName = new System::Windows::Forms::TextBox();
			this->label4 = new System::Windows::Forms::Label();
			this->dgrdBooks = new System::Windows::Forms::DataGrid();
			this->groupBox1->SuspendLayout();
			(__try_cast<System::ComponentModel::ISupportInitialize *  >(this->dgrdBooks))->BeginInit();
			this->SuspendLayout();
			// 
			// groupBox1
			// 
			this->groupBox1->Controls->Add(this->tBoxBookID);
			this->groupBox1->Controls->Add(this->label2);
			this->groupBox1->Controls->Add(this->tBoxWritter);
			this->groupBox1->Controls->Add(this->label1);
			this->groupBox1->Controls->Add(this->btnSearch);
			this->groupBox1->Controls->Add(this->tBoxBookName);
			this->groupBox1->Controls->Add(this->label4);
			this->groupBox1->Dock = System::Windows::Forms::DockStyle::Top;
			this->groupBox1->Location = System::Drawing::Point(0, 0);
			this->groupBox1->Name = S"groupBox1";
			this->groupBox1->Size = System::Drawing::Size(760, 79);
			this->groupBox1->TabIndex = 1;
			this->groupBox1->TabStop = false;
			// 
			// tBoxBookID
			// 
			this->tBoxBookID->Location = System::Drawing::Point(616, 39);
			this->tBoxBookID->Name = S"tBoxBookID";
			this->tBoxBookID->Size = System::Drawing::Size(120, 21);
			this->tBoxBookID->TabIndex = 4;
			this->tBoxBookID->Text = S"";
			// 
			// label2
			// 
			this->label2->Location = System::Drawing::Point(344, 44);
			this->label2->Name = S"label2";
			this->label2->Size = System::Drawing::Size(56, 11);
			this->label2->TabIndex = 3;
			this->label2->Text = S"图书作者";
			// 
			// tBoxWritter
			// 
			this->tBoxWritter->Location = System::Drawing::Point(408, 40);
			this->tBoxWritter->Name = S"tBoxWritter";
			this->tBoxWritter->Size = System::Drawing::Size(120, 21);
			this->tBoxWritter->TabIndex = 2;
			this->tBoxWritter->Text = S"";
			// 
			// label1
			// 
			this->label1->Location = System::Drawing::Point(144, 45);
			this->label1->Name = S"label1";
			this->label1->Size = System::Drawing::Size(56, 11);
			this->label1->TabIndex = 1;
			this->label1->Text = S"图书名称";
			// 
			// btnSearch
			// 
			this->btnSearch->ImageAlign = System::Drawing::ContentAlignment::MiddleLeft;
			this->btnSearch->ImageIndex = 6;
			this->btnSearch->ImageList = this->imageList1;
			this->btnSearch->Location = System::Drawing::Point(64, 40);
			this->btnSearch->Name = S"btnSearch";
			this->btnSearch->Size = System::Drawing::Size(56, 24);
			this->btnSearch->TabIndex = 0;
			this->btnSearch->Text = S"搜索";
			this->btnSearch->TextAlign = System::Drawing::ContentAlignment::MiddleRight;
			this->btnSearch->Click += new System::EventHandler(this, btnSearch_Click);
			// 
			// imageList1
			// 
			this->imageList1->ImageSize = System::Drawing::Size(16, 16);
			this->imageList1->ImageStream = (__try_cast<System::Windows::Forms::ImageListStreamer *  >(resources->GetObject(S"imageList1.ImageStream")));
			this->imageList1->TransparentColor = System::Drawing::Color::Transparent;
			// 
			// tBoxBookName
			// 
			this->tBoxBookName->Location = System::Drawing::Point(208, 40);
			this->tBoxBookName->Name = S"tBoxBookName";
			this->tBoxBookName->Size = System::Drawing::Size(120, 21);
			this->tBoxBookName->TabIndex = 6;
			this->tBoxBookName->Text = S"";
			// 
			// label4
			// 
			this->label4->Location = System::Drawing::Point(559, 43);
			this->label4->Name = S"label4";
			this->label4->Size = System::Drawing::Size(56, 11);
			this->label4->TabIndex = 5;
			this->label4->Text = S"图书编号";
			// 
			// dgrdBooks
			// 
			this->dgrdBooks->DataMember = S"";
			this->dgrdBooks->Dock = System::Windows::Forms::DockStyle::Fill;
			this->dgrdBooks->HeaderForeColor = System::Drawing::SystemColors::ControlText;
			this->dgrdBooks->Location = System::Drawing::Point(0, 79);
			this->dgrdBooks->Name = S"dgrdBooks";
			this->dgrdBooks->Size = System::Drawing::Size(760, 358);
			this->dgrdBooks->TabIndex = 2;
			this->dgrdBooks->DoubleClick += new System::EventHandler(this, dgrdBooks_DoubleClick);
			// 
			// SelectBook
			// 
			this->AutoScaleBaseSize = System::Drawing::Size(6, 14);
			this->ClientSize = System::Drawing::Size(760, 437);
			this->Controls->Add(this->dgrdBooks);
			this->Controls->Add(this->groupBox1);
			this->Name = S"SelectBook";
			this->Text = S"选择图书";
			this->groupBox1->ResumeLayout(false);
			(__try_cast<System::ComponentModel::ISupportInitialize *  >(this->dgrdBooks))->EndInit();
			this->ResumeLayout(false);

		}		
	private:		
		//-----------------------设置表格各列的属性-----------------------
		void DataGridStateControl()
		{

			DataGridTableStyle* ts = new DataGridTableStyle();			
			ts->MappingName = this->ds->Tables->Item[S"图书信息"]->TableName;
			
			DataGridNoActiveCellColumn* aTextColumn;
			ts->AllowSorting = false;
			ts->AlternatingBackColor = Color::LightGray;

			int numCols = this->ds->Tables->Item[S"图书信息"]->Columns->Count;
			for(int i = 0;i < numCols;i++)
			{
				aTextColumn = new DataGridNoActiveCellColumn();
				aTextColumn->get_TextBox()->Enabled = false;
				aTextColumn->MappingName = this->ds->Tables->Item[S"图书信息"]->Columns->Item[i]->ColumnName;
				aTextColumn->HeaderText = this->ds->Tables->Item[S"图书信息"]->Columns->Item[i]->ColumnName;
				aTextColumn->NullText = S"";
				aTextColumn->Format = S"D";
				ts->GridColumnStyles->Add(aTextColumn);
			}

			this->dgrdBooks->TableStyles->Add(ts);
  		 }

		 //---------按条件查询-----------
private: System::Void btnSearch_Click(System::Object *  sender, System::EventArgs *  e)
		 {
			 String* strBookID = this->tBoxBookID->Text->Trim();
			 String* strBookName = this->tBoxBookName->Text->Trim();
			 String* strWritter = this->tBoxWritter->Text->Trim();
			 String* Filter = S"";
			 if(String::Compare(strBookID,String::Empty) != 0)
			 {
				 Filter = String::Format(S"{0} AND (编号 LIKE '%{1}%')",Filter,strBookID);
			 }
			 if(String::Compare(strBookName,String::Empty) != 0)
			 {
				 Filter = String::Format(S"{0} AND (书名 LIKE '%{1}%')",Filter,strBookName);
			 }
			 if(String::Compare(strWritter,String::Empty) != 0)
			 {
				 Filter = String::Format(S"{0} AND (条形码 LIKE '%{1}%')",Filter,strWritter);
			 }

			 this->ds->Tables->Item[S"图书信息"]->Clear();

			 if(String::Compare(Filter,String::Empty) != 0)
			 {
				 Filter = Filter->Substring(5,Filter->Length - 5);
				 //查询图书信息				 
				 this->strSQL = String::Format(S"Select * from 图书信息 where {0}",Filter);
				 this->strTableName = S"图书信息";
				 this->MyDataBase->SelectDataBase(this->BookAdapter,this->ds,this->strSQL,this->strTableName);           
			 }
			 else
			 {
				 //查询图书信息
				 this->strSQL = S"Select * from 图书信息";
				 this->strTableName = S"图书信息";
				 this->MyDataBase->SelectDataBase(this->BookAdapter,this->ds,this->strSQL,this->strTableName);            
			 }
		 }	
		 //---------双击数据表选择图书------------
private: System::Void dgrdBooks_DoubleClick(System::Object *  sender, System::EventArgs *  e)
		 {
			 int row = this->dgrdBooks->CurrentCell.RowNumber;
			 this->strBookID = this->ds->Tables->Item[S"图书信息"]->Rows->Item[row]->Item[S"编号"]->ToString()->Trim();
			 this->strBookName = this->ds->Tables->Item[S"图书信息"]->Rows->Item[row]->Item[S"书名"]->ToString()->Trim();
			 //返回
			 this->DialogResult = DialogResult::OK;
		 }

};
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -