• C#关于 SQL Server 数据库的操作


    C# :创建SQL Server数据库、设置SQL Server数据库为只读状态、修改和压缩SQL Server数据库、新建(删除和修改)数据表、修改(新增和删除)数据列

    代码
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Data.SqlClient;
    using System.Collections;
    using System.Net;
    using System.IO;
    using System.Threading;
    namespace WindowsApplication1
    {
        
    public partial class Form1 : Form
        {
            
    public Form1()
            {
                InitializeComponent();
            }

            
    private void InitializeComponent()
            {
                
    throw new NotImplementedException();
            }
            
    private void button1_Click(object sender, EventArgs e)
            {
    //创建SQL Server数据库
                string MySQL = "use master;" +
                
    "IF DB_ID(N'MyDatabase') IS NOT NULL " +
                
    "DROP DATABASE MyDatabase;" +
                
    "CREATE DATABASE MyDatabase " +
                
    "ON(NAME=MyDatabase_dat,FILENAME=\"C:\\MyDatabase.mdf\",SIZE=5,MAXSIZE=10,FILEGROWTH=1) " +
                
    "LOG ON(NAME=MyDatabase_log,FILENAME=\"C:\\MyDatabase.ldf\",SIZE=2,MAXSIZE=5,FILEGROWTH=1)";
                SqlConnection MyConnection 
    = new SqlConnection("Data Source=.;Initial Catalog=;Integrated Security=True");
                SqlCommand MyCommand 
    = new SqlCommand(MySQL, MyConnection);
                
    try
                {
                    MyCommand.Connection.Open();
                    MyCommand.ExecuteNonQuery();
                    MessageBox.Show(
    "成功创建数据库""信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                
    catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, 
    "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                
    finally
                {
                    MyConnection.Close();
                }
            }
            
    private void button2_Click(object sender, EventArgs e)
            {
    //设置SQL Server数据库为只读状态
                string MySQL = "use master; " +
                      
    "IF DB_ID(N'MyDatabase') IS NOT NULL " +
                    
    "EXEC sp_dboption 'MyDatabase', 'read only', 'TRUE'";
                
    // "EXEC sp_dboption 'MyDatabase', 'read only', 'FALSE'";
                SqlConnection MyConnection = new SqlConnection("Data Source=.;Initial Catalog=;Integrated Security=True");
                SqlCommand MyCommand 
    = new SqlCommand(MySQL, MyConnection);
                
    try
                {
                    MyCommand.Connection.Open();
                    MyCommand.ExecuteNonQuery();
                    MessageBox.Show(
    "设置MyDatabase数据库为只读状态操作成功!""信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                
    catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, 
    "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                
    finally
                {
                    MyConnection.Close();
                }
            }
            
    private void button3_Click(object sender, EventArgs e)
            {
    //设置SQL Server数据库为脱机状态
                string MySQL = "use master; " +
                      
    "IF DB_ID(N'MyDatabase') IS NOT NULL " +
                    
    "EXEC sp_dboption 'MyDatabase', 'offline', 'TRUE'";
                
    //   "EXEC sp_dboption 'MyDatabase', 'offline', 'false'";
                SqlConnection MyConnection = new SqlConnection("Data Source=.;Initial Catalog=;Integrated Security=True");
                SqlCommand MyCommand 
    = new SqlCommand(MySQL, MyConnection);
                
    try
                {
                    MyCommand.Connection.Open();
                    MyCommand.ExecuteNonQuery();
                    MessageBox.Show(
    "设置MyDatabase数据库为脱机状态操作成功!""信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                
    catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, 
    "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                
    finally
                {
                    MyConnection.Close();
                }
            }
            
    private void button5_Click(object sender, EventArgs e)
            {
    //压缩SQL Server数据库
                string MySQL = "use master;" +
                
    "IF DB_ID(N'MyDatabase') IS NOT NULL " +
                
    "DBCC SHRINKDATABASE (MyDatabase, 90) ";
                SqlConnection MyConnection 
    = new SqlConnection("Data Source=.;Initial Catalog=;Integrated Security=True");
                SqlCommand MyCommand 
    = new SqlCommand(MySQL, MyConnection);
                
    try
                {
                    MyCommand.Connection.Open();
                    MyCommand.ExecuteNonQuery();
                    MessageBox.Show(
    "成功压缩数据库""信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                
    catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, 
    "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                
    finally
                {
                    MyConnection.Close();
                }
            }
            
    private void button6_Click(object sender, EventArgs e)
            {
    //在数据库中新建数据表
                string MySQL = "IF OBJECT_ID(N'MyDatabase..商品清单', N'U') IS NOT NULL " +
                     
    "DROP TABLE 商品清单;" +
                    
    "CREATE TABLE 商品清单 (" +
                    
    "[货号] [char] (14) NOT NULL Primary Key," +
                    
    "[条码] [char] (14) NULL ," +
                    
    "[拼音编码] [char] (40) NULL," +
                    
    "[品名] [varchar] (80) NULL ," +
                    
    "[规格] [varchar] (40) NULL ," +
                    
    "[单位] [char] (6) NOT NULL ," +
                    
    "[产地] [varchar] (50) NULL ," +
                    
    "[类别] [char] (20) NULL ," +
                    
    "[进货价] [decimal] (28,6) NULL default(0)," +
                    
    "[销售价1] [decimal] (28,6) NULL default(0)," +
                    
    "[销售价2] [decimal] (28,6) NULL default(0)," +
                    
    "[最低售价] [decimal] (28,6) NULL default(0))";
                SqlConnection MyConnection 
    = new SqlConnection("Data Source = .;Database = MyDatabase;Integrated Security=SSPI");
                SqlCommand MyCommand 
    = new SqlCommand(MySQL, MyConnection);
                
    try
                {
                    MyCommand.Connection.Open();
                    MyCommand.ExecuteNonQuery();
                    MessageBox.Show(
    "成功在MyDatabase数据库中创建数据表""信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                
    catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, 
    "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                
    finally
                {
                    MyConnection.Close();
                }
            }
            
    private void button7_Click(object sender, EventArgs e)
            {
    //在数据库中删除数据表
                string MySQL = "IF OBJECT_ID(N'MyDatabase..商品清单', N'U') IS NOT NULL " +
                     
    "DROP TABLE 商品清单;";
                SqlConnection MyConnection 
    = new SqlConnection("Data Source = .;Database = MyDatabase;Integrated Security=SSPI");
                SqlCommand MyCommand 
    = new SqlCommand(MySQL, MyConnection);
                
    try
                {
                    MyCommand.Connection.Open();
                    MyCommand.ExecuteNonQuery();
                    MessageBox.Show(
    "成功在MyDatabase数据库中删除数据表""信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                
    catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, 
    "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                
    finally
                {
                    MyConnection.Close();
                }
            }
            
    private void button8_Click(object sender, EventArgs e)
            {
    //在数据表中修改数据列
                
    //"[产地] [varchar] (50) NULL ,"
                string MySQL = "ALTER TABLE 商品清单 ALTER COLUMN [产地] [char](100) NOT NULL;";
                SqlConnection MyConnection 
    = new SqlConnection("Data Source = .;Database = MyDatabase;Integrated Security=SSPI");
                SqlCommand MyCommand 
    = new SqlCommand(MySQL, MyConnection);
                
    try
                {
                    MyCommand.Connection.Open();
                    MyCommand.ExecuteNonQuery();
                    MessageBox.Show(
    "成功在“商品清单”数据表中修改数据列""信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                
    catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, 
    "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                
    finally
                {
                    MyConnection.Close();
                }
            }
            
    private void button9_Click(object sender, EventArgs e)
            {
    //在数据表中添加数据列
                string MySQL = "ALTER TABLE 商品清单 ADD [检验员] [varchar] (50) NULL;";
                SqlConnection MyConnection 
    = new SqlConnection("Data Source = .;Database = MyDatabase;Integrated Security=SSPI");
                SqlCommand MyCommand 
    = new SqlCommand(MySQL, MyConnection);
                
    try
                {
                    MyCommand.Connection.Open();
                    MyCommand.ExecuteNonQuery();
                    MessageBox.Show(
    "成功在“商品清单”数据表中添加数据列""信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                
    catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, 
    "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                
    finally
                {
                    MyConnection.Close();
                }
            }
            
    private void button10_Click(object sender, EventArgs e)
            {
    //在数据表中删除数据列
                string MySQL = "ALTER TABLE 商品清单 DROP COLUMN [检验员] ;";
                SqlConnection MyConnection 
    = new SqlConnection("Data Source = .;Database = MyDatabase;Integrated Security=SSPI");
                SqlCommand MyCommand 
    = new SqlCommand(MySQL, MyConnection);
                
    try
                {
                    MyCommand.Connection.Open();
                    MyCommand.ExecuteNonQuery();
                    MessageBox.Show(
    "成功在“商品清单”数据表中删除数据列""信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                
    catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, 
    "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                
    finally
                {
                    MyConnection.Close();
                }
            }
            
    private void button11_Click(object sender, EventArgs e)
            {
    //删除指定数据表中的所有记录
                string MySQL = "TRUNCATE TABLE 商品清单;";
                SqlConnection MyConnection 
    = new SqlConnection("Data Source = .;Database = MyDatabase;Integrated Security=SSPI");
                SqlCommand MyCommand 
    = new SqlCommand(MySQL, MyConnection);
                
    try
                {
                    MyCommand.Connection.Open();
                    MyCommand.ExecuteNonQuery();
                    MessageBox.Show(
    "成功在“MyDatabase”数据库中删除“商品清单”数据表的所有记录""信息提示", MessageBoxButtons.OK,MessageBoxIcon.Information);
                }
                
    catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, 
    "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                
    finally
                {
                    MyConnection.Close();
                }
            }
        }
    }

  • 相关阅读:
    ccf 201604-3 路径解析
    ccf 201609-3 炉石传说
    ccf 201612-3 权限查询
    ccf 201709-3 JSON查询
    ccf 201703-3 Markdown
    POJ 3259 -- Wormholes
    Bellman-Ford 单源最短路径算法
    【oracle】oracle启动和关闭步骤
    【Excel】Excel根据单元格背景色求和
    【Oracle】Oracle时间日期格式
  • 原文地址:https://www.cnblogs.com/qiangshu/p/1617469.html
Copyright © 2020-2023  润新知