Попробуйте переместиться туда, где вы объявили output
и вернули его, как показано ниже.
Я изменил часть, в которой вы объявляете источник данных видов сетки. Вы должны иметь возможность просто объявить источник данных наборов данных как сам метод.
Посмотрите на эту тему: набор данных и набор данных набор данных и набор данных
DataSet может содержать несколько таблиц. Однако, если вы просто возвращаете один набор результатов, DataTable, а не DataSet, вероятно, будет иметь больше смысла.
Просто измените тип Methods на DataTable. Объявите его источник так же, как показано ниже.
public DataSet GetData()
{
//Move where you declare output ot here
DataSet output = new DataSet();
try
{
SqlConnection conn = new SqlConnection(connectionString);
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
String sql = "Select top 100 * from SEQUENCE";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(output);
conn.Close();
}
catch (Exception ex)
{
ScriptManager.RegisterStartupScript(this, GetType(),
"ServerControlScript", ex.Message, true);
return (null);
}
//And move the return to here
return output;
}
//Should just need this to display the data
GridViewOutput.DataSource = GetData();
GridViewOutput.DataBind();
И последнее: при использовании SQL в c # я склоняюсь к использованию оператора using
. Это делает код намного чище и управляет размещением ресурсов для вас. Когда я должен использовать Statement using? . Ваш код будет выглядеть так, если вы решите использовать его:
public DataTable GetData()
{
//Move where you declare output ot here
var output = new DataTable();
using (var conn = new SqlConnection())
{
try
{
conn.ConnectionString = //Your DataBase Connection;
String sql = "Select top 100 * from SEQUENCE";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.commandType = commandType.Text;
Var adapter = new SqlDataAdapter(cmd);
adapter.Fill(output);
}
catch (Exception ex)
{
ScriptManager.RegisterStartupScript(this, GetType(),
"ServerControlScript", ex.Message, true);
return (null);
}
//And move the return to here
return output;
}
}
//Should just need this to display the data
GridViewOutput.DataSource = GetData();
GridViewOutput.DataBind();