• WPF 数据库增删改查


    <Window x:Class="DataBindingExam.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="344.636" Width="365.422">
        <Grid Name="grid">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"></RowDefinition>
                <RowDefinition Height="Auto"></RowDefinition>
                <RowDefinition Height="Auto"></RowDefinition>
                <RowDefinition Height="Auto"></RowDefinition>
                <RowDefinition Height="Auto"></RowDefinition>
                <RowDefinition Height="Auto"></RowDefinition>
                <RowDefinition Height="*"></RowDefinition>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto"></ColumnDefinition>
                <ColumnDefinition></ColumnDefinition>
            </Grid.ColumnDefinitions>
            <StackPanel Grid.Row="0" Grid.ColumnSpan="2" Grid.Column="0" Margin="3" Orientation="Horizontal" VerticalAlignment="Center">
                <TextBlock Margin="3">ID:</TextBlock>
                <TextBox Name="txtID" Margin="3" MinWidth="100"></TextBox>
                <Button Name="btnQuery" Margin="3" MinWidth="50" Click="btnQuery_Click_1">查询</Button>
                <Button Name="btnUpdate" Margin="3" MinWidth="50" Click="btnUpdate_Click_1">更新</Button>
                <Button Name="btnInsert" Margin="3" MinWidth="50" Click="btnInsert_Click_1">插入</Button>
                <Button Name="btnDelete" Margin="3" MinWidth="50" Click="btnDelete_Click_1">删除</Button>
            </StackPanel>
            <TextBlock Margin="3" Grid.Row="1" Grid.Column="0" VerticalAlignment="Center">CategoryID</TextBlock>
            <TextBox Name="txtCategoryID" Margin="3" Grid.Row="1" Grid.Column="1" VerticalAlignment="Center"

                     Text="{Binding Path=CategoryID}"></TextBox>

            
      <TextBlock Margin="3" Grid.Row="2" Grid.Column="0" VerticalAlignment="Center">ModelNumber</TextBlock>
            <TextBox Name="txtModelNumber" Margin="3" Grid.Row="2" Grid.Column="1" VerticalAlignment="Center"
                     Text="{Binding Path=ModelNumber}"></TextBox>


            <TextBlock Margin="3" Grid.Row="3" Grid.Column="0" VerticalAlignment="Center">ModelName</TextBlock>
            <TextBox Name="txtModelName" Margin="3" Grid.Row="3" Grid.Column="1" VerticalAlignment="Center"
                     Text="{Binding Path=ModelName}"></TextBox>


     <TextBlock Margin="3" Grid.Row="4" Grid.Column="0" VerticalAlignment="Center">ProductImage</TextBlock>
            <TextBox Name="txtProductImage" Margin="4" Grid.Row="4" Grid.Column="1" VerticalAlignment="Center"
                     Text="{Binding Path=ProductImage}"></TextBox>


            <TextBlock Margin="3" Grid.Row="5" Grid.Column="0" VerticalAlignment="Center">UnitCost</TextBlock>
            <TextBox Name="txtUnitCost" Margin="3" Grid.Row="5" Grid.Column="1" VerticalAlignment="Center"
                     Text="{Binding Path=UnitCost}"></TextBox>


            <TextBox Name="txtDescription" Margin="4" Grid.Row="6" Grid.Column="0" Grid.ColumnSpan="2"
                     Text="{Binding Path=Description}" TextWrapping="Wrap"></TextBox>
        </Grid>

    </Window>


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;


    namespace ClassLibrary
    {
        public class Product
        {
            public int ProductID { get; set; }
            public int CategoryID { get; set; }
            public string ModelNumber { get; set; }
            public string ModelName { get; set; }
            public string ProductImage { get; set; }
            public decimal UnitCost { get; set; }
            public string Description { get; set; }


            public Product(int CategoryID = 0, string ModelNumber = "",
                string ModelName = "", string ProductImage = "", decimal UnitCost=0,string Description="")
            {
                this.CategoryID = CategoryID;
                this.ModelNumber = ModelNumber;
                this.ModelName = ModelName;
                this.ProductImage = ProductImage;
                this.UnitCost = UnitCost;
                this.Description = Description;
            }


        }

    }


    using ClassLibrary;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;


    namespace DataBindingExam
    {
        /// <summary>
        /// Interaction logic for MainWindow.xaml
        /// </summary>
        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
            }


            private void btnQuery_Click_1(object sender, RoutedEventArgs e)
            {
                int id = Convert.ToInt32(txtID.Text);
                Product p = StoreDB.GetProductByID(id);
                grid.DataContext = p;
            }


            private void btnUpdate_Click_1(object sender, RoutedEventArgs e)
            {
                int categoryID=Convert.ToInt32(txtCategoryID.Text);
                decimal unitCost = Convert.ToDecimal(txtUnitCost.Text);


                Product p = new Product()
                {
                    CategoryID = categoryID,
                    ModelNumber = txtModelNumber.Text,
                    ModelName = txtModelName.Text,
                    ProductImage = txtProductImage.Text,
                    UnitCost = unitCost,
                    Description = txtDescription.Text
                };
                int productID = Convert.ToInt32(txtID.Text);
                StoreDB.UpdateProductByID(productID, p);
            }


            private void btnInsert_Click_1(object sender, RoutedEventArgs e)
            {
                int categoryID = Convert.ToInt32(txtCategoryID.Text);
                decimal unitCost = Convert.ToDecimal(txtUnitCost.Text);
                Product p = new Product()
                {
                    CategoryID = categoryID,
                    ModelNumber = txtModelNumber.Text,
                    ModelName = txtModelName.Text,
                    ProductImage = txtProductImage.Text,
                    UnitCost = unitCost,
                    Description = txtDescription.Text
                };
                StoreDB.InsertProduct(p);
            }


            private void btnDelete_Click_1(object sender, RoutedEventArgs e)
            {
                int productID = Convert.ToInt32(txtID.Text);
                StoreDB.DeleteProductByID(productID);
            }
        }

    }


    using System;
    using System.Collections.Generic;
    using System.Data.SqlClient;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;


    namespace ClassLibrary
    {
        public class StoreDB
        {
            public static string connString = Properties.Settings.Default.ConnectionString;

            public static Product GetProductByID(int id)
            {
                Product p = null;
                SqlConnection con = new SqlConnection(connString);
                SqlCommand cmd = new SqlCommand("GetProductByID", con);
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@ProductID", id);
                try
                {
                    con.Open();
                    SqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        p = new Product()
                        {
                            CategoryID = (int)reader[1],
                            ModelNumber = reader[2].ToString(),
                            ModelName = reader[3].ToString(),
                            ProductImage=reader[4].ToString(),
                            UnitCost = (decimal)reader[5],
                            Description = reader[6].ToString()
                        };
                    }
                    return p;


                }
                catch (Exception)
                {
                    throw;
                }
                finally
                {
                    con.Close();
                }
            }


            public static void UpdateProductByID(int ProductID,Product p)
            {
                SqlConnection con = new SqlConnection(connString);
                SqlCommand cmd = new SqlCommand("UpdateProductByID", con);
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@ProductID",ProductID);
                cmd.Parameters.AddWithValue("@CategoryID",p.CategoryID);
                cmd.Parameters.AddWithValue("@ModelNumber",p.ModelNumber);
                cmd.Parameters.AddWithValue("@ModelName",p.ModelName);
                cmd.Parameters.AddWithValue("@ProductImage",p.ProductImage);
                cmd.Parameters.AddWithValue("@UnitCost",p.UnitCost);
                cmd.Parameters.AddWithValue("@Description",p.Description);
                try
                {
                    con.Open();
                    cmd.ExecuteNonQuery();
                }
                catch (Exception)
                {
                    throw;
                }
                finally
                {
                    con.Close();
                }
            }


            public static void InsertProduct(Product p)
            {
                SqlConnection con = new SqlConnection(connString);
                SqlCommand cmd = new SqlCommand("InsertProduct", con);
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@CategoryID", p.CategoryID);
                cmd.Parameters.AddWithValue("@ModelNumber", p.ModelNumber);
                cmd.Parameters.AddWithValue("@ModelName", p.ModelName);
                cmd.Parameters.AddWithValue("@ProductImage", p.ProductImage);
                cmd.Parameters.AddWithValue("@UnitCost", p.UnitCost);
                cmd.Parameters.AddWithValue("@Description", p.Description);
                try
                {
                    con.Open();
                    cmd.ExecuteNonQuery();
                }
                catch (Exception)
                {
                    throw;
                }
                finally
                {
                    con.Close();
                }
            }


            public static void DeleteProductByID(int id)
            {
                SqlConnection con = new SqlConnection(connString);
                SqlCommand cmd = new SqlCommand("DeleteProductByID", con);
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@ProductID", id);
                try
                {
                    con.Open();
                    cmd.ExecuteNonQuery();
                }
                catch (Exception)
                {
                    throw;
                }
                finally
                {
                    con.Close();
                }
            }
        }

    }


    USE [store]
    GO
    /****** Object:  StoredProcedure [dbo].[InsertProduct]    Script Date: 2018/3/29 14:36:46 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author: <Author,,Name>
    -- Create date: <Create Date,,>
    -- Description: <Description,,>
    -- =============================================
    ALTER PROCEDURE [dbo].[InsertProduct]
    -- Add the parameters for the stored procedure here
    (
    @CategoryID int,
    @ModelNumber varchar(50),
    @ModelName varchar(50),
    @ProductImage varchar(50),
    @UnitCost money,
    @Description nvarchar(3800)
    )
    AS
    BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

        -- Insert statements for procedure here
    insert into Products(CategoryID,ModelNumber,ModelName,ProductImage,UnitCost,Description)
    values(@CategoryID,@ModelNumber,@ModelName,@ProductImage,@UnitCost,@Description);

    END



    USE [store]
    GO
    /****** Object:  StoredProcedure [dbo].[DeleteProductByID]    Script Date: 2018/3/29 14:37:31 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author: <Author,,Name>
    -- Create date: <Create Date,,>
    -- Description: <Description,,>
    -- =============================================
    ALTER PROCEDURE [dbo].[DeleteProductByID]
    (
    @ProductID int
    )
    AS
    BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;


        delete from Products where ProductID=@ProductID;

    END



    USE [store]
    GO
    /****** Object:  StoredProcedure [dbo].[UpdateProductByID]    Script Date: 2018/3/29 14:38:08 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author: <Author,,Name>
    -- Create date: <Create Date,,>
    -- Description: <Description,,>
    -- =============================================
    ALTER PROCEDURE [dbo].[UpdateProductByID] 
    (
    @ProductID int,
    @CategoryID int,
    @ModelNumber varchar(50),
    @ModelName varchar(50),
    @ProductImage varchar(50),
    @UnitCost money,
    @Description nvarchar(3800)
    )
    AS
    BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;


        -- Insert statements for procedure here
    update Products set CategoryID=@CategoryID,ModelNumber=@ModelNumber,ModelName=@ModelName,
    ProductImage=@ProductImage,UnitCost=@UnitCost,Description=@Description where ProductID=@ProductID;
    END




  • 相关阅读:
    html-----018----HTML Web Server/HTML URL 字符编码
    html-----017
    SQL Server 2008 R2评估期已过的解决办法和sqlserver 服务器打不开问题
    Eclipse快捷键大全
    with递归
    PIVOT使用
    SSH框架搭建
    更换开发环境后设置Tomcat和jdk版本
    MyBatis 一对多和多对一关联查询
    MyBatis 使用接口增删改查和两表一对一级联查询
  • 原文地址:https://www.cnblogs.com/dxmfans/p/9434824.html
Copyright © 2020-2023  润新知