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

📄 dbmaintainfrm.cs

📁 能对数据库进行维护
💻 CS
📖 第 1 页 / 共 3 页
字号:
			// txtKey2
			// 
			this.txtKey2.Location = new System.Drawing.Point(624, 48);
			this.txtKey2.Name = "txtKey2";
			this.txtKey2.Size = new System.Drawing.Size(104, 21);
			this.txtKey2.TabIndex = 14;
			this.txtKey2.Text = "";
			this.txtKey2.TextChanged += new System.EventHandler(this.txtKey2_TextChanged);
			// 
			// cmbMatch2
			// 
			this.cmbMatch2.Location = new System.Drawing.Point(376, 48);
			this.cmbMatch2.Name = "cmbMatch2";
			this.cmbMatch2.Size = new System.Drawing.Size(120, 20);
			this.cmbMatch2.TabIndex = 13;
			this.cmbMatch2.Click += new System.EventHandler(this.cmbMatch2_Click);
			this.cmbMatch2.SelectedIndexChanged += new System.EventHandler(this.cmbMatch2_SelectedIndexChanged);
			// 
			// dataGrid1
			// 
			this.dataGrid1.AlternatingBackColor = System.Drawing.Color.LightBlue;
			this.dataGrid1.BackColor = System.Drawing.Color.WhiteSmoke;
			this.dataGrid1.CaptionBackColor = System.Drawing.Color.LightSkyBlue;
			this.dataGrid1.CaptionForeColor = System.Drawing.Color.FromArgb(((System.Byte)(64)), ((System.Byte)(64)), ((System.Byte)(64)));
			this.dataGrid1.ContextMenu = this.contextMenu1;
			this.dataGrid1.DataMember = "";
			this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
			this.dataGrid1.Location = new System.Drawing.Point(176, 32);
			this.dataGrid1.Name = "dataGrid1";
			this.dataGrid1.Size = new System.Drawing.Size(816, 488);
			this.dataGrid1.TabIndex = 2;
			this.dataGrid1.TableStyles.AddRange(new System.Windows.Forms.DataGridTableStyle[] {
																								  this.dataGridTableStyle1});
			this.dataGrid1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.dataGrid1_MouseDown);
			// 
			// dataGridTableStyle1
			// 
			this.dataGridTableStyle1.BackColor = System.Drawing.SystemColors.Info;
			this.dataGridTableStyle1.DataGrid = this.dataGrid1;
			this.dataGridTableStyle1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
			this.dataGridTableStyle1.MappingName = "";
			this.dataGridTableStyle1.SelectionBackColor = System.Drawing.SystemColors.Desktop;
			// 
			// DBMaintainFrm
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
			this.ClientSize = new System.Drawing.Size(1016, 525);
			this.Controls.Add(this.groupBox2);
			this.Controls.Add(this.groupBox1);
			this.Controls.Add(this.dataGrid1);
			this.Controls.Add(this.toolBar);
			this.Name = "DBMaintainFrm";
			this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
			this.Text = "数据库";
			this.Closing += new System.ComponentModel.CancelEventHandler(this.DBMaintainFrm_Closing);
			this.Load += new System.EventHandler(this.DBMaintainFrm_Load);
			this.groupBox1.ResumeLayout(false);
			this.groupBox2.ResumeLayout(false);
			((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
			this.ResumeLayout(false);

		}
		#endregion

		#region //工具条
		private void toolBar_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
		{
			
			int imageIndex=e.Button.ImageIndex;
			switch(imageIndex)
			{
				case 0://连接
					
					break;
				case 1:
					CreateTable f2=new CreateTable("");
					f2.Show();
					break;
				case 2:
					AlterTabel f3=new AlterTabel(this.listBox1.SelectedItem.ToString().Trim(),ownerPermiton);
					f3.Show();
					break;
				case 3:
					if (MessageBox.Show("确定要删除该表吗","重要提示",MessageBoxButtons.OKCancel)==DialogResult.OK)
					{
						string  sql="drop table "+tablename+"";
						if (da.ExSQL(sql))
						{
							ListBoxDateBiding();
							dataGridDataBiding("select * from "+tablename+"");
						}
					} 
					else
					{
						return;
					}
					break;
				case 4:
					this.dataGrid1.UnSelect(this.dataGrid1.CurrentRowIndex);
				    int f=ds.Tables[0].Rows.Count;
					this.dataGrid1.CurrentCell=new DataGridCell(f,1);
					break;
				case 5:
					if (MessageBox.Show("确定要删除当前数据吗?","重要提示",MessageBoxButtons.OKCancel)==DialogResult.OK)
		
					{
						DeletfromDataRow();
					} 
					else
					{
						return;
					}
					break;
				case 6:
					
					updatatoDB();
					break;
				case 8:
					this.groupBox2.Visible=true;
					this.dataGrid1.Location=new System.Drawing.Point(176, 120);
					break;
				case 7:
					this.groupBox2.Visible=false;
					this.dataGrid1.Location=new System.Drawing.Point(176,32);
					this.dataGrid1.Size=new System.Drawing.Size(816,488);
					SQL="Select * from "+tablename+"";
					dataGridDataBiding(SQL);
					break;
				case 9:
					ListBoxDateBiding();
					SQL="Select * from "+tablename+"";
					dataGridDataBiding(SQL);
					break;
			}
		}

		#endregion

		#region //listbox绑定数据
		public  void ListBoxDateBiding()
		{
			this.listBox1.Items.Clear();
			string sql= "SELECT name FROM sysobjects WHERE xtype='U'and (name <>'databf' and name<>'dtproperties' and  name<>'user_table' and name<>'定制_报表' and name<>'USERZB')order by name";
			DataTable dt=new DataTable();
			dt=da.GetDataTable(sql);
			
			for (int i=0;i<dt.Rows.Count;i++)
			{
					
				string name=dt.Rows[i].ItemArray[0].ToString();
				this.listBox1.Items.Add(name);
				tables.Add(name);
				this.listBox1.SelectedIndex=0;//初始化
				tablename=this.listBox1.SelectedItem.ToString().Trim();
			}
		}

		#endregion

		#region//dataGrid绑定数据
		public void dataGridDataBiding(string sql)
		{    
			//string sql="SELECT c.name FROM syscolumns c,sysobjects o WHERE (c.id = o.id and o.name = \'"+tablename+"\')";
			SQL=sql;
			ds=da.GetDataSet(SQL,tablename);
			//	DataTable dt=new DataTable();
			//	dt=da.GetDataTable(sql);
			//this.dataGrid1.DataSource=dt;
			dataGrid1.CaptionText=tablename;
			dcc=ds.Tables[0].Columns; 

			DataGridTableStyle   dataGridTableTargetStyle   =   null;   
			DataGridTextBoxColumn   dataGridTextBoxColumn   =   null;  
			dataGridTableTargetStyle   =   new   DataGridTableStyle(); 
			dataGrid1.DataSource=ds.Tables[0];
			dataGrid1.TableStyles.Clear();
			dataGridTableTargetStyle.MappingName   =   ds.Tables[0].TableName;
			dataGridTableTargetStyle.RowHeadersVisible   =   false;
			dataGridTableTargetStyle.AlternatingBackColor=System.Drawing.Color.LightBlue;//奇数行背景色
			dataGridTableTargetStyle.BackColor=System.Drawing.Color.WhiteSmoke;//dataGrid 背景色
			int colsNum=ds.Tables[0].Columns.Count;
			for(int i=0;i<colsNum;i++)
			{ 
				if (dcc[i].ColumnName.Trim()==IdentityCol)
				{
			        IdentityColIndex=i;
					dataGridTextBoxColumn   =   new   DataGridTextBoxColumn();   
					dataGridTextBoxColumn.MappingName   =  dcc[i].ToString().Trim();   
					dataGridTextBoxColumn.HeaderText   =   dcc[i].ColumnName.ToString().Trim();   
					dataGridTextBoxColumn.Width   =   0;   
					dataGridTableTargetStyle.GridColumnStyles.Add(dataGridTextBoxColumn);  
				} 
				else
				{
					dataGridTextBoxColumn   =   new   DataGridTextBoxColumn();
					dataGridTextBoxColumn.NullText="";
					dataGridTextBoxColumn.MappingName   =  dcc[i].ToString().Trim();   
					dataGridTextBoxColumn.HeaderText   =   dcc[i].ColumnName.ToString().Trim();   
					dataGridTextBoxColumn.TextBox.AutoSize = true;
					dataGridTableTargetStyle .PreferredColumnWidth = dataGridTextBoxColumn.TextBox.Width;
					if ( dataGridTableTargetStyle.PreferredColumnWidth>80)
					{
						dataGridTableTargetStyle.PreferredColumnWidth =80;
					} 
					dataGridTableTargetStyle.GridColumnStyles.Add(dataGridTextBoxColumn);
				}
				
			}
			dataGrid1.TableStyles.Add(dataGridTableTargetStyle);
			//判断删除一行是否可用
			if (dataGrid1.VisibleRowCount==1)
			{
				this.toolBarButton5.Enabled=false;
			}
			else
			{this.toolBarButton5.Enabled=true;}
			
			
		}
		#endregion

        #region //判断那个是自动增长字段早dataGrid中隐藏
		public void IsIdentityCol()
		{
			string sql="select name from syscolumns where columnproperty(id,name,'IsIdentity')=1 and id in(select id from sysobjects where name='"+tablename0+"')";
			DataTable mydatatable=da.GetDataTable(sql);
			IdentityCol=mydatatable.Rows[0][0].ToString().Trim();
		}

#endregion
		
		#region//load
		private void DBMaintainFrm_Load(object sender, System.EventArgs e)
		{
			//			if (ConnStr=="")
			//			{
			//				DialogResult dr = MessageBox.Show("请先配置数据服务器", "提示信息", MessageBoxButtons.OKCancel, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2);
			//				if (dr == DialogResult.OK)
			//				{
			//					frmLogin Login=new frmLogin();
			//					Login.Show();
			//				}
			//				else
			//				{
			//					
			//				}
			//			}
			//			else 
			//			{
			//				ListBoxDateBiding();
			//			}

			
			SQL="SELECT  * FROM "+tablename+"";
			ListBoxDateBiding();
			dataGridDataBiding(SQL);
			initSearchGroup();
			if (ownerPermiton=="dbo")
			{
				this.toolBarButton3.Enabled=false; 
			}
			else
			{
				this.toolBarButton3.Enabled=true;
			}
		}
		#endregion

		#region //listBox 单击 表名改变,dataGrid数据改变
		private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
		{   
			this.cmbMath1.Text="";
			this.cmbMatch2.Text="";
			if (listBox1.SelectedItem.ToString().Trim()!=null)
			{
				tablename0=this.listBox1.SelectedItem.ToString().Trim();
				this.tablename=listBox1.SelectedItem.ToString();
				string  s=permition();
				if (s=="dbo")
				{
					this.toolBarButton3.Enabled=false; 
				}
				else
				{
					tablename="YUY."+tablename;
					this.toolBarButton3.Enabled=true;
				}
				IsIdentityCol();
                SQL="SELECT  * FROM "+tablename+"";
				dataGridDataBiding(SQL);
				initSearchGroup();
			}
			
		}

		#endregion
		
		
		#region //初始化查询Group
		public void initSearchGroup()
		{
			this.cmbSearch1.Text="";
			this.cmbSearch2.Text="";
			this.cmbSearch1.Items.Clear();
			this.cmbSearch2.Items.Clear();
			for (int i=1;i<dcc.Count;i++)
			{
				this.cmbSearch1.Items.Add(dcc[i].ToString().Trim());	
				this.cmbSearch2.Items.Add(dcc[i].ToString().Trim());
			}
			
		}
		
		#endregion
		
		#region   //删除
		private void menuItem2_Click(object sender, System.EventArgs e)
		{
			if (MessageBox.Show("确定要删除当前数据吗?","重要提示",MessageBoxButtons.OKCancel)==DialogResult.OK)
		
			{
				DeletfromDataRow();
			} 
			else
			{
				return;
			}
		  
	
		    
		
		}

		public void DeletfromDataRow()
		{
			//			DataSet ds12=ds.GetChanges();
			//			MessageBox.Show(ds.Tables[0].Rows.Count.ToString());
			//			MessageBox.Show(this.dataGrid1.VisibleRowCount.ToString());
			//			MessageBox.Show(this.dataGrid1.CurrentRowIndex.ToString());
			//			MessageBox.Show(ds.Tables[0].Rows[this.dataGrid1.CurrentRowIndex][2].ToString());
			//		       updatatoDB2();
			//			GetFocus(this.dataGrid1.CurrentRowIndex-1,1);
			//			this.dataGrid1[CR,0]=0;
			int t=0;
			for (int i=0;i<ds.Tables[0].Columns.Count;i++)
			{
				
				if (dataGrid1[this.dataGrid1.CurrentRowIndex,i].ToString()=="")
				{
					t++;
				
				}
//				MessageBox.Show(ds.Tables[0].Columns.Count.ToString());
			}
			if (t==ds.Tables[0].Columns.Count)
			{
				MessageBox.Show("该行没有数据");
				return;
			} 
			else
			{
				updatatoDB2();
				dataGridDataBiding("Select * from "+tablename+"");
				this.dataGrid1.CurrentRowIndex=CR;


				//		    	MessageBox.Show(this.dataGrid1.CurrentRowIndex.ToString());

				DataColumnCollection  dcc=ds.Tables[0].Columns;//取得table的列
				DataColumn dc=dcc[IdentityCol];
				DataColumn[] mydc={dc};//转换为可用格式
				ds.Tables[0].PrimaryKey=mydc;//主键
				//	string c=dc.ToString();

⌨️ 快捷键说明

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