C#Visual Studio-将SQL表数据输出到Datagridview

Conkbabes

抱歉,如果已解决。我似乎发现的例子比我需要的要复杂得多

单击“显示所有记录”按钮时,我试图将SQL表的全部内容输出到DatagridView

我有点麻烦,这是我到目前为止所遇到的

  private void Button_Click_2(object sender, RoutedEventArgs e)
        {
            {

                string query = "select * from student";
                SqlCommand cmd = new SqlCommand(query, con);
                con.Open();


                SqlDataAdapter da = new SqlDataAdapter(cmd);

                da.Fill(DataGridView);
                con.Close();
                da.Dispose();
            }

这是我所有的代码,如果您需要参考

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;
using System.Data.SqlClient;
using System.Text.RegularExpressions;

namespace WpfApplication4
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True");



        public MainWindow()
        {
            InitializeComponent();
            establishConnection();


        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {


            Boolean postSuccess = false;

            if (validation() == true)
            {

                SqlCommand details = new SqlCommand("INSERT INTO Student (Firstname, LastName, MatriculationNo, GradeOne, GradeTwo, GradeThree) VALUES (@FirstName, @LastName, @MatriculationNo, @GradeOne, @GradeTwo, @GradeThree)", con);
                details.Parameters.AddWithValue("@FirstName", firstnameTextbox.Text);
                details.Parameters.AddWithValue("@LastName", lastnameTextbox.Text);
                details.Parameters.AddWithValue("@MatriculationNo", matriculationnoTextbox.Text);
                details.Parameters.AddWithValue("@GradeOne", Component1Textbox.Text);
                details.Parameters.AddWithValue("@GradeTwo", Component2Textbox.Text);
                details.Parameters.AddWithValue("@GradeThree", Component3Textbox.Text);
                con.Open();
                details.ExecuteNonQuery();
                postSuccess = true;

                if (postSuccess)
                {
                    MessageBox.Show("Details entered succesfully!");
                    firstnameTextbox.Clear();
                    lastnameTextbox.Clear();
                    matriculationnoTextbox.Clear();
                    Component1Textbox.Clear();
                    Component2Textbox.Clear();
                    Component3Textbox.Clear();

                }

                else
                {
                    MessageBox.Show("Data not entered succesfully, please check DB connection");
                }
                con.Close();
            }

        }
        private void establishConnection()
        {
            try
            {
                con.Open();
                System.Diagnostics.Debug.Print("Connected to SQL database");

                connectionLabel.Content = "Connected to SQL Database";

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

                connectionLabel.Content = "not connected to sql database";
            }
        }

        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            firstnameTextbox.Clear();  //Clears the first name textbox
            lastnameTextbox.Clear();   //Clears the last name textbox
            matriculationnoTextbox.Clear(); //Clears the Matriculation Number textbox
            Component1Textbox.Clear(); //Clears the component one textbox
            Component2Textbox.Clear(); //Clears the component two textbox
            Component3Textbox.Clear(); //Clears the component three textbox
        }


        private Boolean validation()
        {
            if (!Regex.Match(firstnameTextbox.Text, "^[A-Z][a-zA-Z]*$").Success)
            {
                MessageBox.Show("Please Enter a valid First Name");
                firstnameTextbox.Clear();
                return false;
            }
            else
            {
                return true;
            }

        }

        private void Button_Click_3(object sender, RoutedEventArgs e)
        {
            con.Open(); 
            string sql = @"DELETE FROM Student;"; //Deleting all from Student table
            SqlCommand purge = new SqlCommand(sql, con);
            MessageBox.Show("Are you sure you want to purge the entire contents of the database?"); //Prompting user to make sure they want to delete
            purge.ExecuteNonQuery(); //Execute purge query


        }

        private void Button_Click_2(object sender, RoutedEventArgs e)
        {
            {

                string query = "select * from student";
                SqlCommand cmd = new SqlCommand(query, con);
                con.Open();

                // create data adapter
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                // this will query your database and return the result to your datatable
                da.Fill(DataGridView);
                con.Close();
                da.Dispose();
            }









        }





    }
}

任何帮助将不胜感激,谢谢

只需填写DataTable表格并将其绑定到即可GridView.DataContext

像这样:

首先DataGrid在XAML编辑器中添加<DataGrid Name="customDataGrid" ItemsSource="{Binding}">

然后在后面的代码:

namespace WpfApplication4
{
        /// <summary>
        /// Interaction logic for MainWindow.xaml
        /// </summary>
        public partial class MainWindow : Window
        {
            string connectionString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True";

            public MainWindow()
            {
                InitializeComponent();
            }

            private void button1_Click(object sender, EventArgs e)
            {
                DataTable table = null;
                string query = "select * from student";
                try
                {
                    using (SqlConnection connection = new SqlConnection(this.connectionString))
                    {
                        connection.Open();
                        using (SqlDataAdapter adapter = new SqlDataAdapter(query, connection))
                        {
                            table = new DataTable();
                            adapter.Fill(table);
                        }
                    }
                }
                catch (Exception ex)
                {
                    //handle caught exception
                }

                if (table != null)
                {
                    customDataGrid.DataContext = table.DefaultView;
                }
            }
        }
}

装订部分: customDataGrid.DataContext = table.DefaultView;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从MainWindow文本框到辅助窗口的c#visual studio WPF应用程序输出

来自分类Dev

C#Visual Studio 2013-无休止的数据库

来自分类Dev

将文本框传递给方法。使用textchanged事件时。C#Visual Studio

来自分类Dev

无法连接到C#visual studio中的sql无法登录

来自分类Dev

按钮帮助C#Visual Studio

来自分类Dev

使用C#Visual Studio 13的Prolog

来自分类Dev

替换文件类型关联C#Visual Studio 2013

来自分类Dev

C#Visual Studio 2015-自动跳入括号

来自分类Dev

没有XML标签的C#Visual Studio Intellisense

来自分类Dev

C#Visual Studio文件夹路径

来自分类Dev

C#Visual Studio 2013 Windows窗体应用得分

来自分类Dev

C#Visual Studio无法识别ZipFile.ExtractToDirectory

来自分类Dev

标签不粘贴到面板C#Visual Studio .NET

来自分类Dev

C#Visual Studio发布表单转到不同的路线

来自分类Dev

在设计器模式C#visual studio 2015/2013中将鼠标悬停在richtextbox上时,鼠标会出现故障

来自分类Dev

使用基础创建构造函数的快捷方式(C#Visual Studio 2015)

来自分类Dev

如何在C#Visual Studio中删除CheckBox的焦点边框?

来自分类Dev

C#Visual Studio不仅在当前项目中构建

来自分类Dev

C#Visual Studio:|| DataDirectory | 连接字符串中的关键字与mdf文件冲突

来自分类Dev

在C#Visual Studio中将int转换为字符串的类中的方法

来自分类Dev

下列方法或属性错误之间的调用不明确-C#Visual Studio 2019

来自分类Dev

C#Visual Studio Excel加载项:如何检测Excel Office主题更改?

来自分类Dev

如何在Mac上的Windows上编译C#Visual Studio解决方案

来自分类Dev

HTML.Partial C#Visual Studio的奇怪文本插入问题

来自分类Dev

使用DataTable.Compute()方法比较C#Visual Studio中的两个变量

来自分类Dev

C#Visual Studio 2012如何显示类成员和方法?

来自分类Dev

c#visual studio,部署时出错,但调试/构建时不出错

来自分类Dev

如何在Linux下使用Mono运行C#Visual Studio应用程序?

来自分类Dev

如果声明,则在发送表单之前检查屏幕是否存在。C#Visual Studio中

Related 相关文章

  1. 1

    从MainWindow文本框到辅助窗口的c#visual studio WPF应用程序输出

  2. 2

    C#Visual Studio 2013-无休止的数据库

  3. 3

    将文本框传递给方法。使用textchanged事件时。C#Visual Studio

  4. 4

    无法连接到C#visual studio中的sql无法登录

  5. 5

    按钮帮助C#Visual Studio

  6. 6

    使用C#Visual Studio 13的Prolog

  7. 7

    替换文件类型关联C#Visual Studio 2013

  8. 8

    C#Visual Studio 2015-自动跳入括号

  9. 9

    没有XML标签的C#Visual Studio Intellisense

  10. 10

    C#Visual Studio文件夹路径

  11. 11

    C#Visual Studio 2013 Windows窗体应用得分

  12. 12

    C#Visual Studio无法识别ZipFile.ExtractToDirectory

  13. 13

    标签不粘贴到面板C#Visual Studio .NET

  14. 14

    C#Visual Studio发布表单转到不同的路线

  15. 15

    在设计器模式C#visual studio 2015/2013中将鼠标悬停在richtextbox上时,鼠标会出现故障

  16. 16

    使用基础创建构造函数的快捷方式(C#Visual Studio 2015)

  17. 17

    如何在C#Visual Studio中删除CheckBox的焦点边框?

  18. 18

    C#Visual Studio不仅在当前项目中构建

  19. 19

    C#Visual Studio:|| DataDirectory | 连接字符串中的关键字与mdf文件冲突

  20. 20

    在C#Visual Studio中将int转换为字符串的类中的方法

  21. 21

    下列方法或属性错误之间的调用不明确-C#Visual Studio 2019

  22. 22

    C#Visual Studio Excel加载项:如何检测Excel Office主题更改?

  23. 23

    如何在Mac上的Windows上编译C#Visual Studio解决方案

  24. 24

    HTML.Partial C#Visual Studio的奇怪文本插入问题

  25. 25

    使用DataTable.Compute()方法比较C#Visual Studio中的两个变量

  26. 26

    C#Visual Studio 2012如何显示类成员和方法?

  27. 27

    c#visual studio,部署时出错,但调试/构建时不出错

  28. 28

    如何在Linux下使用Mono运行C#Visual Studio应用程序?

  29. 29

    如果声明,则在发送表单之前检查屏幕是否存在。C#Visual Studio中

热门标签

归档