当我添加数据表类以填充datagridview时,Daily_Prices
类未显示为一个类。我希望文本框成为SQL命令,然后用查询结果填充datagridview。添加DataTable类的代码时,我无法让Daily_Prices
类保留为数据层名称空间下的类
这是按钮单击事件的代码,用于触发命令箱文本到SQL命令并使用查询结果填充datagridview。它说名称空间Daily_Prices
中没有类DataLayer
。但是,当您查看我的DataLayer
名称空间时,会有一个Daily_Prices
类。
private void buttonGo_Click(object sender, EventArgs e)
{
try
{
// Takes the commandBox text and sends it to SQL Server
DataLayer.Commands c = new DataLayer.Commands();
DataLayer.Daily_Prices dp = c.Command(string.Format(commandBox.Text));
// Populates the datagridview
DataTable daily = DataLayer.Commands.GetDaily("Daily_Price");
dataGridViewGetDaily.DataSource = daily;
}
catch { }
}
DataLayer
的命名空间如下
namespace DataLayer
{
public class Commands
{
public Daily_Prices Command(string commandBox)
{
Daily_Prices dp = new Daily_Prices();
using (SqlConnection connect = DB.GetSqlConnection())
{
using (SqlCommand cmd = connect.CreateCommand())
{
cmd.CommandText = @"{0}";
cmd.CommandText = string.Format(cmd.CommandText, commandBox.ToString());
SqlDataReader reader = cmd.ExecuteReader();
if (reader.Read())
{
dp.Load(reader);
}
return dp;
}
}
}
public static DataTable GetDaily(string commandBox)
{
DataTable table = new DataTable("Daily_Price");
SqlDataAdapter da = null;
using (SqlConnection conn = DB.GetSqlConnection())
{
SqlCommand cmd = new SqlCommand();
cmd.CommandText = @"{0}";
cmd.CommandText = string.Format(cmd.CommandText, commandBox.ToString());
da = new SqlDataAdapter(cmd);
da.Fill(table);
}
return table;
}
}
}
答案 0 :(得分:0)
在您的Daily_Prices
命名空间中找不到DataLayer
类的任何定义!
也许您误解了Daily_Prices dp = new Daily_Prices();
行(这只是一个对象定义)?
我在您的DataLayer
命名空间中看到的唯一类定义是Commands