结合SQL Server与C#做一个简易的电影信息分享平台

在这里插入图片描述

需求分析

日常生活中,除了学习和工作,人们也需要一定的娱乐来放松自己的身心,而随着科技水平的提高,智能手机,平板,电脑给人们对娱乐的需求带来了便利,如购物,刷视频,玩游戏,看电影等等。而在很多时候,人们在使用智能设备想看一部符合自己爱好的电影时,通常不能很好的找到一部合适影片来满足需求,这个系统主要从这个方面出发,为人们提供一种共享电影平台,每个人若对一部电影感兴趣或觉得好看,便能通过在该平台上增加这部电影,分享给其他的电影爱好者,这样,随时能看到高质量的影片,节约了时间的同时,也给每个人提供了便利。

数据库设计.
由数据分析可知,该平台主要面向电影分享,所以首先将创建一个名为“movie”的数据库,并确定需要创建的表有:电影表(movie),演员表(Actor),影业公司表(M_COMPANY),导演表(Director),以及登陆表(log_in)。其列键值如下图所示:

在这里插入图片描述

Actor

在这里插入图片描述

Director
在这里插入图片描述

Movie
在这里插入图片描述
log_in
其数据库设计部分代码如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以上表均建立在自己新创建的模式M_C中,以便数据库调用时统一使用;

功能设计

根据(一)需求分析,主要需要提供以下几个方面的功能设计:

  1. 电影人性化检索功能:通过用户不同观看影片不同需求的选择,我们需要提供较为人性化的电影检索,包含以下两个检索方法:
    (1) 按电影主题检索:要求用户只需输入主题相关文字兴趣,即可检索出相关电影推荐及其相关信息;
    (2) 按电影名称检索:要求用户只需输入想要看的电影的电影名部分内容便能检索出相关电影及信息;
    (3) 演员相关电影:输入演员信息,检索出其主演过的电影;
    (4) 导演执导电影:输入导演信息,检索出该导演执导过的电影;
  2. 当前平台列表信息总览查看功能:用户能够在平台上随时看到已更新或已上传的信息总览,包括电影信息总览,演员表,导演表,影业公司等等;
  3. 信息更新功能:该功能主要为该平台的信息增添,与相关信息修改,删除做贡献,主要实现的功能如下:
    (1) 电影信息更新:包括电影信息修改,增加,与删除;
    (2) 演员信息更新:包括演员信息修改,增加,与删除;
    (3) 导演信息修改:包括导演信息修改,增加,与删除;
    (4) 影业公司信息修改:包括影业公司信息增加与修改;
  4. 用户名密码登陆功能:该功能主要为用户提供自己的个人隐私操作空间,打开平台前需要完成用户名密码登陆;
    主要功能如下:
    (1) 必须用用户名和密码才能登陆进行查看;
    (2) 提供密码修改功能:为防止他人恶意修改密码,该平台修改密码时需要正确输入用户名和原密码后才能进行密码的修改与保存。

系统实现

1.登陆界面实现:

1.1 创建登陆界面窗体,提供标签,按钮,输入框等控件
布置如下:

1.2 创建登陆界面登陆状态窗体
该窗体主要为密码或用户名错误,或其他页面进行数据库操作时出错时进行提醒;主要引入一个标签即可,同时在该界面下根据需求建立相关类函数,以便调用。界面如下:
在这里插入图片描述

1.3 登陆界面登陆功能代码:

private void button1_Click(object sender, EventArgs e)
        {
            String mystr, mysql;
            SqlConnection myconn = new SqlConnection();
            SqlCommand mycmd = new SqlCommand();
            //SqlDataAdapter mm=new SqlDataAdapter();
            mystr = @"Data Source=MIKE\SQLEXPRESS;Initial Catalog=movie_buy;Integrated Security=true";
            myconn.ConnectionString = mystr;
            myconn.Open();
            mysql = "SELECT * FROM  M_C.Log_in  WHERE log_namev= '" +textBox1.Text.Trim()+ "' AND log_acess='" +textBox2.Text.Trim()+ "'";
            mycmd.CommandText=mysql;
            mycmd.Connection=myconn;
            SqlDataReader myreader = mycmd.ExecuteReader();
            int num=0;

            while (myreader.Read())		//循环读取信息
            { num++; }
            	
           // Console.WriteLine(num);
            log_zt zt = new log_zt();
            电影信息管理 movie_show = new 电影信息管理();
            if (num == 0)
            {
                zt.log_fail();
            }
            else
            {
                //this.Close();
                //this.Hide();
                this.DialogResult = DialogResult.OK;
                //movie_show.Show();
                
            }
            myconn.Close();
            myreader.Close();
            //this.Close();
        }


需要注意的地方(在这里踩坑):
利用2012年版的sql server 与2010版本的VS在这里不能将登陆界面作为主窗体,原因如下:当用户名,密码正确登陆成功时,我们需要关闭该界面,或者用户不能看见登陆界面,而给用户呈现的将是电影信息平台的主界面。故有隐藏和关闭登陆界面两种方法,若代码写入是登陆成功后调用电影平台界面并关闭登陆界面并且登陆界面为主界面,则所有界面均会关闭;
若利用隐藏界面的方式,那么在下次运行程序时界面依旧是隐藏的,不能有效进行登陆操作;
综上,将电影信息平台作为主界面,再通过修改主代码,在调用主界面之前进行登陆操作即可,这里需要对函数设置状态值,以便判断登陆界面是否登陆成功。
相关函数代码如下:
主代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace movie
{
    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Log_in log = new Log_in();
            DialogResult isOk = log.ShowDialog();
            if (isOk == DialogResult.OK || isOk == DialogResult.Yes) //登陆状态判断
            { Application.Run(new 电影信息管理());
            log.Close();
            }
        }
    }
}

登陆窗体相关状态对象函数代码定义:

public void log_fail()
        {
            label1.Text = "用户名或密码错误,登陆失败!";
            this.ShowDialog();
        }

程序运行时的界面:
在这里插入图片描述

登陆成功后直接进入电影信息检索主界面;

2.修改密码功能实现:

2.1首先按需求创建修改密码界面:

2.2 按照功能需求将算法分为两步
(1)判断用户名与原密码是否输入正确;
(2)判断两次输入的新密码是否一致
实现代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace movie
{
    public partial class upPassword : Form
    {
        public upPassword()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            String mystr, mysql;
            SqlConnection myconn = new SqlConnection();
            SqlCommand mycmd = new SqlCommand();
            //SqlDataAdapter mm=new SqlDataAdapter();
            mystr = @"Data Source=MIKE\SQLEXPRESS;Initial Catalog=movie_buy;Integrated Security=true";
            myconn.ConnectionString = mystr;
            myconn.Open();
            mysql = "SELECT * FROM  M_C.Log_in  WHERE log_namev= '" + textBox1.Text.Trim() + "' AND log_acess='" + textBox2.Text.Trim() + "'";
            mycmd.CommandText = mysql;
            mycmd.Connection = myconn;
            SqlDataReader myreader = mycmd.ExecuteReader();
            int num = 0;

            while (myreader.Read())		//循环读取信息
            { num++; }
            myreader.Close();
            // Console.WriteLine(num);
            log_zt zt = new log_zt();
            电影信息管理 movie_show = new 电影信息管理();
            if (num == 0)
            {
                zt.wrongPass();
            }
            else if (textBox3.Text.Trim() == textBox4.Text.Trim())
            {

                mysql = "UPDATE M_C.Log_in SET log_acess='" + textBox3.Text.Trim() + "'";
                mysql += " WHERE log_namev='" + textBox1.Text.Trim() + "'";
                mycmd.CommandText = mysql;
                mycmd.Connection = myconn;
                try
                {
                    mycmd.ExecuteNonQuery();
                    zt.successlogPassUp();
                    this.Close();

                }
                catch (Exception ex)
                {
                    zt.failWhyPass(ex.ToString());
                }

            }
            else 
            {
                zt.failPass();
            }
            myconn.Close();
            //myreader.Close();
            //this.Close();
        }
    }
}

定义前两部算法状态对象函数代码,在log_zt中进行定义:

public void successlogPassUp()
        {
            label1.Text = "保存成功!";
            this.ShowDialog();
        }
        public void wrongPass()
        {
            label1.Text = "原密码输入错误,保存失败!";
            this.ShowDialog();
        }
        public void failPass()
        {
            label1.Text = "输入新密码不能对应,保存失败!";
            this.ShowDialog();
        }

3.电影信息加载功能

该功能主要完成平台信息的总览,通过连接数据库,定义检索数据库相关代码,数据库检索,listview可视化来完成:
3.1 相关代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace movie
{
    public partial class form2 : Form
    {
        public form2()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            listView1.Items.Clear();
            listView1.Columns.Clear();
            string mystr, mysql;
            SqlConnection myconn = new SqlConnection();
            SqlCommand mycmd = new SqlCommand();
            mystr = @"Data Source=MIKE\SQLEXPRESS;Initial Catalog=movie_buy;Integrated Security=true";
            myconn.ConnectionString = mystr;
            myconn.Open();
            mysql = "SELECT Movie_no,Movie_name,Movie_theme,Movie_sc,Movie_birth,Movie_director,Movie_com,Actors ";
            mysql += "FROM M_C.Movie";
            mycmd.CommandText = mysql;
            mycmd.Connection = myconn;
            SqlDataReader myredear = mycmd.ExecuteReader();
            ListViewItem itemx = new ListViewItem();
            listView1.View = View.Details;
            listView1.Columns.Add("电影编号", 50, HorizontalAlignment.Center);
            listView1.Columns.Add("电影名", 100, HorizontalAlignment.Center);
            listView1.Columns.Add("电影主题", 100, HorizontalAlignment.Center);
            listView1.Columns.Add("电影评分", 50, HorizontalAlignment.Center);
            listView1.Columns.Add("上映时间", 50, HorizontalAlignment.Center);
            listView1.Columns.Add("导演", 100, HorizontalAlignment.Center);
            listView1.Columns.Add("影业公司", 100, HorizontalAlignment.Center);
            listView1.Columns.Add("主演", 100, HorizontalAlignment.Center);
            while (myredear.Read())                     //循环读取信息
            {
                itemx = listView1.Items.Add(myredear["Movie_no"].ToString());
                itemx.SubItems.Add(myredear[1].ToString());
                itemx.SubItems.Add(myredear[2].ToString());
                itemx.SubItems.Add(myredear[3].ToString());
                itemx.SubItems.Add(myredear[4].ToString());
                itemx.SubItems.Add(myredear[5].ToString());
                itemx.SubItems.Add(myredear[6].ToString());
                itemx.SubItems.Add(myredear[7].ToString());

            }
            myconn.Close();
            myredear.Close();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            listView1.Items.Clear();
            listView1.Columns.Clear();
            string mystr, mysql;
            SqlConnection myconn = new SqlConnection();
            SqlCommand mycmd = new SqlCommand();
            mystr = @"Data Source=MIKE\SQLEXPRESS;Initial Catalog=movie_buy;Integrated Security=true";
            myconn.ConnectionString = mystr;
            myconn.Open();
            mysql = "SELECT Actor_no,Actor_name,Actor_sex,Actor_com,Actor_pay ";
            mysql += "FROM M_C.Actor";
            mycmd.CommandText = mysql;
            mycmd.Connection = myconn;
            SqlDataReader myredear = mycmd.ExecuteReader();
            ListViewItem itemx = new ListViewItem();
            listView1.View = View.Details;
            listView1.Columns.Add("演员编号", 50, HorizontalAlignment.Center);
            listView1.Columns.Add("演员姓名", 100, HorizontalAlignment.Center);
            listView1.Columns.Add("性别", 50, HorizontalAlignment.Center);
            listView1.Columns.Add("国籍", 100, HorizontalAlignment.Center);
            listView1.Columns.Add("薪资", 80, HorizontalAlignment.Center);
            while (myredear.Read())                     //循环读取信息
            {
                itemx = listView1.Items.Add(myredear["Actor_no"].ToString());
                itemx.SubItems.Add(myredear[1].ToString());
                itemx.SubItems.Add(myredear[2].ToString());
                itemx.SubItems.Add(myredear[3].ToString());
                itemx.SubItems.Add(myredear[4].ToString());
            }
            myconn.Close();
            myredear.Close();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            listView1.Items.Clear();
            listView1.Columns.Clear();
            string mystr, mysql;
            SqlConnection myconn = new SqlConnection();
            SqlCommand mycmd = new SqlCommand();
            mystr = @"Data Source=MIKE\SQLEXPRESS;Initial Catalog=movie_buy;Integrated Security=true";
            myconn.ConnectionString = mystr;
            myconn.Open();
            mysql = "SELECT Director_no,Director_name,Director_birth,Director_sex,Director_COM ";
            mysql += "FROM M_C.Director";
            mycmd.CommandText = mysql;
            mycmd.Connection = myconn;
            SqlDataReader myredear = mycmd.ExecuteReader();
            ListViewItem itemx = new ListViewItem();
            listView1.View = View.Details;
            listView1.Columns.Add("导演编号", 50, HorizontalAlignment.Center);
            listView1.Columns.Add("导演姓名", 100, HorizontalAlignment.Center);
            listView1.Columns.Add("出生年份", 80, HorizontalAlignment.Center);
            listView1.Columns.Add("性别", 50, HorizontalAlignment.Center);
            listView1.Columns.Add("国籍", 100, HorizontalAlignment.Center);
            while (myredear.Read())                     //循环读取信息
            {
                itemx = listView1.Items.Add(myredear["Director_no"].ToString());
                itemx.SubItems.Add(myredear[1].ToString());
                itemx.SubItems.Add(myredear[2].ToString());
                itemx.SubItems.Add(myredear[3].ToString());
                itemx.SubItems.Add(myredear[4].ToString());
            }
            myconn.Close();
            myredear.Close();
        }

        private void button4_Click(object sender, EventArgs e)
        {
            listView1.Items.Clear();
            listView1.Columns.Clear();
            string mystr, mysql;
            SqlConnection myconn = new SqlConnection();
            SqlCommand mycmd = new SqlCommand();
            mystr = @"Data Source=MIKE\SQLEXPRESS;Initial Catalog=movie_buy;Integrated Security=true";
            myconn.ConnectionString = mystr;
            myconn.Open();
            mysql = "SELECT Mno,Mcompany,COM_From ";
            mysql += "FROM M_C.M_COMPANY";
            mycmd.CommandText = mysql;
            mycmd.Connection = myconn;
            SqlDataReader myredear = mycmd.ExecuteReader();
            ListViewItem itemx = new ListViewItem();
            listView1.View = View.Details;
            listView1.Columns.Add("公司编号", 80, HorizontalAlignment.Center);
            listView1.Columns.Add("电影公司", 100, HorizontalAlignment.Center);
            listView1.Columns.Add("来自", 80, HorizontalAlignment.Center);

            while (myredear.Read())                     //循环读取信息
            {
                itemx = listView1.Items.Add(myredear["Mno"].ToString());
                itemx.SubItems.Add(myredear[1].ToString());
                itemx.SubItems.Add(myredear[2].ToString());

            }
            myconn.Close();
            myredear.Close();
        }
    }
}

3.2 功能界面:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.电影信息工具菜单栏:

该菜单栏主要包括电影信息更新,增加电影,删除电影几个功能;

4.1 相关代码
(1) 信息更新:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace movie
{
    public partial class 电影修改 : Form
    {
        public 电影修改()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            
            String mystr, mysql;
            SqlConnection myconn = new SqlConnection();
            SqlCommand mycmd = new SqlCommand();
            //SqlDataAdapter mm=new SqlDataAdapter();
            mystr = @"Data Source=MIKE\SQLEXPRESS;Initial Catalog=movie_buy;Integrated Security=true";
            myconn.ConnectionString = mystr;
            myconn.Open();
            //int no;
            //no = Convert.ToInt32(textBox1.Text.Trim());
            mysql = "UPDATE M_C.Movie SET Movie_name='"+textBox2.Text.Trim()+"'";
            mysql += ",Movie_theme='" + textBox3.Text.Trim() + "',Movie_sc='" + textBox4.Text.Trim() + "'";
            mysql+=",Movie_birth='"+textBox5.Text.Trim()+"',Movie_director='"+textBox6.Text.Trim()+"',Movie_com='"+textBox7.Text.Trim()+"',Actors='"+textBox8.Text.Trim()+"'";
            mysql+=" WHERE Movie_no='"+textBox1.Text.Trim()+"'";
            mycmd.CommandText = mysql;
            mycmd.Connection = myconn;
            movieup_zt zt = new movieup_zt();
            try
            {
                //SqlDataReader myredear = mycmd.ExecuteReader();
                mycmd.ExecuteNonQuery();

                zt.movieup_suc();
                zt.ShowDialog();
                this.Close();

            }
            catch (Exception ex)
            {
                zt.movie_fail(ex.ToString());
                
                this.Close();   
            }

           
            myconn.Close();
           
        }

        private void label8_Click(object sender, EventArgs e)
        {

        }
    }
}

(2) 电影增加:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace movie
{
    public partial class 插入电影 : Form
    {
        public 插入电影()
        {
            InitializeComponent();
        }

        private void label7_Click(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            String mystr, mysql;
            SqlConnection myconn = new SqlConnection();
            SqlCommand mycmd = new SqlCommand();
            mystr = @"Data Source=MIKE\SQLEXPRESS;Initial Catalog=movie_buy;Integrated Security=true";
            myconn.ConnectionString = mystr;
            myconn.Open();
            //int no;
            //no = Convert.ToInt32(textBox1.Text.Trim());
            mysql = "INSERT INTO M_C.Movie (Movie_no,Movie_name,Movie_theme,Movie_sc,Movie_birth,Movie_director,Movie_com,Actors) VALUES('"+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text.Trim()+"','"+textBox4.Text.Trim()+"',";
            mysql += "'"+textBox5.Text.Trim()+"','"+textBox6.Text.Trim()+"','"+textBox7.Text.Trim()+"','"+textBox8.Text.Trim()+"')";
            mycmd.CommandText = mysql;
            mycmd.Connection = myconn;
            insertzt zt = new insertzt();
            try
            {
                mycmd.ExecuteNonQuery();
                ListViewItem itemx = new ListViewItem();
                zt.success_inser();
                zt.ShowDialog();
                this.Close();
            }
            catch (Exception ex)
            {
                zt.del_inser(ex.ToString());
                zt.ShowDialog();
                this.Close();
            }
            myconn.Close();
          
            
        }


      
    }
}

(3) 电影删除:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace movie
{
    public partial class 电影删除 : Form
    {
        public 电影删除()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            String mystr, mysql;
            SqlConnection myconn = new SqlConnection();
            SqlCommand mycmd = new SqlCommand();
            //SqlDataAdapter mm = new SqlDataAdapter();
            mystr = @"Data Source=MIKE\SQLEXPRESS;Initial Catalog=movie_buy;Integrated Security=true";
            myconn.ConnectionString = mystr;
            myconn.Open();
            mysql = "DELETE FROM M_C.Movie WHERE Movie_no=" + textBox1.Text.Trim() + "";
            mycmd.CommandText = mysql;
            mycmd.Connection = myconn;
            电影删除状态 zt = new 电影删除状态();
            try
            {
                //SqlDataReader myredear = mycmd.ExecuteReader();
                mycmd.ExecuteNonQuery();
                ListViewItem itemx = new ListViewItem();
                zt.success();
                zt.Show();
                this.Close();
            }
            catch (Exception ex)
            { 
                zt.failup(ex.ToString());
                this.Close();
            }
            myconn.Close();
        }
    }
}4)	状态函数:
public void movieup_suc()
        {
            label1.Text = "修改成功";
        }

4.2功能界面截图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.演员,导演,影业公司菜单栏

由于以上实现方式和电影操作大同小异,故不在此赘述,其功能图如下(以演员菜单栏为例);

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.电影信息检索菜单栏;

主要实现以主题与名称进行电影检索;
6.1 实现代码:
(1)按主题检索

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace movie
{
    public partial class movieTheme : Form
    {
        public movieTheme()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            listView1.Items.Clear();
            listView1.Columns.Clear();
            string mystr, mysql;
            SqlConnection myconn = new SqlConnection();
            SqlCommand mycmd = new SqlCommand();
            mystr = @"Data Source=MIKE\SQLEXPRESS;Initial Catalog=movie_buy;Integrated Security=true";
            myconn.ConnectionString = mystr;
            myconn.Open();
            mysql = "SELECT Movie_name,Movie_theme,Movie_sc,Movie_director,Actors ";
            mysql += "FROM M_C.Movie ";
            mysql += "WHERE Movie_theme LIKE '"+ textBox1.Text.Trim() +"%'";
            mycmd.CommandText = mysql;
            mycmd.Connection = myconn;
            Imfor_zt zt = new Imfor_zt();
            try
            {
                SqlDataReader myredear = mycmd.ExecuteReader();
                ListViewItem itemx = new ListViewItem();
                listView1.View = View.Details;
                listView1.Columns.Add("电影", 100, HorizontalAlignment.Center);
                listView1.Columns.Add("主题", 100, HorizontalAlignment.Center);
                listView1.Columns.Add("评分", 50, HorizontalAlignment.Center);
                listView1.Columns.Add("导演", 100, HorizontalAlignment.Center);
                listView1.Columns.Add("主演", 100, HorizontalAlignment.Center);
                //string actname;
                while (myredear.Read())
                {
                    itemx = listView1.Items.Add(myredear["Movie_name"].ToString());

                    itemx.SubItems.Add(myredear[1].ToString());
                    itemx.SubItems.Add(myredear[2].ToString());
                    itemx.SubItems.Add(myredear[3].ToString());
                    itemx.SubItems.Add(myredear[4].ToString());
                    
                }
                myredear.Close();
            }
            catch (Exception ex)
            {
                zt.actorImforfail();
                zt.ShowDialog();
                this.Close();
            }
            myconn.Close();
        }
    }
}

(2)按名称检索:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace movie
{
    public partial class movieName : Form
    {
        public movieName()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            listView1.Items.Clear();
            listView1.Columns.Clear();
            string mystr, mysql;
            SqlConnection myconn = new SqlConnection();
            SqlCommand mycmd = new SqlCommand();
            mystr = @"Data Source=MIKE\SQLEXPRESS;Initial Catalog=movie_buy;Integrated Security=true";
            myconn.ConnectionString = mystr;
            myconn.Open();
            mysql = "SELECT Movie_name,Movie_theme,Movie_sc,Movie_director,Actors ";
            mysql += "FROM M_C.Movie ";
            mysql += "WHERE Movie_name LIKE '"+ textBox1.Text.Trim() +"%'";
            mycmd.CommandText = mysql;
            mycmd.Connection = myconn;
            Imfor_zt zt = new Imfor_zt();
            try
            {
                SqlDataReader myredear = mycmd.ExecuteReader();
                ListViewItem itemx = new ListViewItem();
                listView1.View = View.Details;
                listView1.Columns.Add("电影", 100, HorizontalAlignment.Center);
                listView1.Columns.Add("主题", 100, HorizontalAlignment.Center);
                listView1.Columns.Add("评分", 50, HorizontalAlignment.Center);
                listView1.Columns.Add("导演", 100, HorizontalAlignment.Center);
                listView1.Columns.Add("主演", 100, HorizontalAlignment.Center);
                //string actname;
                while (myredear.Read())
                {
                    itemx = listView1.Items.Add(myredear["Movie_name"].ToString());

                    itemx.SubItems.Add(myredear[1].ToString());
                    itemx.SubItems.Add(myredear[2].ToString());
                    itemx.SubItems.Add(myredear[3].ToString());
                    itemx.SubItems.Add(myredear[4].ToString());
                    
                }
                myredear.Close();
            }
            catch (Exception ex)
            {
                zt.actorImforfail();
                zt.ShowDialog();
                this.Close();
            }
            myconn.Close();
        }
    }
}

3.3 功能截图:
在这里插入图片描述
在这里插入图片描述

7.状态栏设计源代码

状态设计栏主要用于在检索过程中由于提示需要来调用不同状态栏,代码如下(部分):

namespace movie
{
    public partial class log_zt : Form
    {
        public log_zt()
        {
            InitializeComponent();
        }

        private void log_zt_Load(object sender, EventArgs e)
        {

        }
        public void log_fail()
        {
            label1.Text = "用户名或密码错误,登陆失败!";
            this.ShowDialog();
        }
        public void successlogPassUp()
        {
            label1.Text = "保存成功!";
            this.ShowDialog();
        }
        public void wrongPass()
        {
            label1.Text = "原密码输入错误,保存失败!";
            this.ShowDialog();
        }
        public void failPass()
        {
            label1.Text = "输入新密码不能对应,保存失败!";
            this.ShowDialog();
        }

        public void failWhyPass(string ex)
        {
            label1.Text = ex;
            this.ShowDialog();
        }
    }
}


namespace movie
{
    public partial class Imfor_zt : Form
    {
        public Imfor_zt()
        {
            InitializeComponent();
        }

        private void label1_Click(object sender, EventArgs e)
        {

        }
        public void actorImforfail()
        {
            label1.Text = "编号输入错误或检索失败!";
        }
    }
}
namespace movie
{
    public partial class insertzt : Form
    {
        public insertzt()
        {
            InitializeComponent();
        }

        private void insertzt_Load(object sender, EventArgs e)
        {

        }
        public void success_inser()
        {
            label1.Text = "插入成功!";

        }
        public void del_inser(string ex) 
        {
            label1.Text = ex;
        }
    }
}
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xx_Mike

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值