堆栈溢出 !
我正在开发一个在 Windows 窗体应用程序中操作 SQL 表的应用程序。到目前为止,我一直只使用预生成的填充查询,以及自制的更新和删除查询(不返回任何内容)。
我对存储单个列(“nchar(15)”名称)中单个值的值很感兴趣,虽然我很容易编写 SQL 代码将该值返回给应用程序,但我不知道它将返回什么作为。
SELECT [Contact First Name] FROM ContactSkillSet
WHERE [Contact ID] = @CurrentID
结果可以直接存为字符串吗?我需要投吗?调用 toString 方法?
谢谢!
编辑:有趣的是,以下作品:
String firstName = this.contactSkillSetTableAdapter.GrabFirstName(userKey);
我想是 Visual Studio 数据向导的乐趣。
最佳答案
TableAdapter 用于填充 DataTable。您的示例查询的结果仍将是一个数据表,但在一行中包含一列。您可以使用以下方法获取值:
var adapter = new SomeKindOfTableAdapter();
var dataTable = new DataTable();
adapter.Fill(dataTable);
string contactFirstName = (string)dataTable.Rows[0][0];
还有其他方法可以在不使用 Table Adapter 的情况下获取您的值:
string query = @"SELECT [Contact First Name]
FROM ContactSkillSet
WHERE [Contact ID] = @Current";
string result;
using(SqlConnection conn = new SqlConnection(connString))
{
conn.Open();
using(SqlCommand command = new SqlCommand(query, conn))
{
result = (string)command.ExecuteScalar();
}
}
关于c# - C# 表适配器实际返回什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3054777/