C# 应用程序未调用方法
我的应用程序没有调用我的方法。我使用过断点,但它从未在代码中启动过。我正在使用Azure数据库构建一个C#Windows窗体应用程序,但DataGridView从未被填充,代码也从未被调用过。。。我不知道为什么C# 应用程序未调用方法,c#,winforms,azure,datagridview,C#,Winforms,Azure,Datagridview,我的应用程序没有调用我的方法。我使用过断点,但它从未在代码中启动过。我正在使用Azure数据库构建一个C#Windows窗体应用程序,但DataGridView从未被填充,代码也从未被调用过。。。我不知道为什么 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Configuration;
namespace MyWinFormsProj
{
public partial class CompanyForm : Form
{
public CompanyForm()
{
InitializeComponent();
}
//Connection String
string cs = ConfigurationManager.ConnectionStrings
["MyConnetion"].ConnectionString;
// Load all employees
private void dataEmployees_Load()
{
using (SqlConnection con = new SqlConnection(cs))
{
con.Open();
SqlCommand cmd = new SqlCommand
(
"Select fname,ename FROM dbo.Users", con
);
SqlDataReader dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);
dataEmployees.DataSource = dt;
}
}
// Crate company
private void createCompany_Click_1(object sender, EventArgs e)
{
if (textBoxCompanyName.Text == "")
{
MessageBox.Show("Fill out information");
return;
}
using (SqlConnection con = new SqlConnection(cs))
{
//Create SqlConnection
con.Open();
SqlCommand cmd = new SqlCommand(
"insert into dbo.Company (companyName)
values(@companyName)", con);
cmd.Parameters.AddWithValue(
"@companyName", textBoxCompanyName.Text);
SqlDataAdapter adapt = new SqlDataAdapter(cmd);
MessageBox.Show("Grattis! Du har skapat ett företag");
}
}
}
}
第二个方法正在工作,并且正在执行它应该执行的操作,但是第一个方法从未被调用。您需要在gridView onLoad上设置一个事件处理程序,并将此方法传递给处理程序
public void GridView_OnLoad(object sender, EventArgs e)
{
dataEmployees_Load();
}
您需要在gridView onLoad上设置一个事件处理程序,并将此方法传递给该处理程序
public void GridView_OnLoad(object sender, EventArgs e)
{
dataEmployees_Load();
}
您需要修复方法签名,使其如下所示:
private void dataEmployees_Load(object sender, EventArgs e)
然后,在GirdView中,需要将此函数设置为事件“onload”的处理程序:
您需要修复方法签名,使其如下所示:
private void dataEmployees_Load(object sender, EventArgs e)
然后,在GirdView中,需要将此函数设置为事件“onload”的处理程序:
谢谢你们的回答,这帮我解决了问题。就像你说的问题在于方法没有被调用。所以我直接在initiliazeComponent上这样调用它
public partial class CompanyForm : Form
{
public CompanyForm()
{
InitializeComponent();
Load += new EventHandler(dataEmployees_Load); //Added this code
}
// Load all employees
private void dataEmployees_Load(object sender, EventArgs e)
{
using (SqlConnection con = new SqlConnection(cs))
{
con.Open();
SqlCommand cmd = new SqlCommand
(
"Select fname,ename FROM dbo.Users", con
);
SqlDataReader dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);
dataEmployees.DataSource = dt;
}
}
谢谢你们的回答,这帮我解决了问题。就像你说的问题在于方法没有被调用。所以我直接在initiliazeComponent上这样调用它
public partial class CompanyForm : Form
{
public CompanyForm()
{
InitializeComponent();
Load += new EventHandler(dataEmployees_Load); //Added this code
}
// Load all employees
private void dataEmployees_Load(object sender, EventArgs e)
{
using (SqlConnection con = new SqlConnection(cs))
{
con.Open();
SqlCommand cmd = new SqlCommand
(
"Select fname,ename FROM dbo.Users", con
);
SqlDataReader dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);
dataEmployees.DataSource = dt;
}
}
您的代码不包含对该方法的调用。您在哪里调用了该方法?也许在构造函数中进行调用?我在代码中没有看到调用该方法的任何地方。DataU加载方法是否附加到表单上的任何事件?如果是,请检查InitializeComponent()中的代码以确保其正确性。@JoshuaHysong不,它只是作为gridview放在表单上,我已经应用了问题描述中指定的代码。我可以参加什么样的活动?像onform load?您的代码不包含对该方法的调用。您在哪里调用了该方法?也许在构造函数中进行调用?我在代码中没有看到调用该方法的任何地方。DataU加载方法是否附加到表单上的任何事件?如果是,请检查InitializeComponent()中的代码以确保其正确性。@JoshuaHysong不,它只是作为gridview放在表单上,我已经应用了问题描述中指定的代码。我可以参加什么样的活动?比如在表单上加载?很好,答案很有帮助。无论如何,我更习惯于在aspx中添加事件处理程序,而不是在代码中添加:)问候!很好,答案很有用。无论如何,我更习惯于在aspx中添加事件处理程序,而不是在代码中添加:)问候!