c# - C# 表适配器实际返回什么?

标签 c# sql winforms

堆栈溢出 !

我正在开发一个在 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/

相关文章:

c# - 您如何处理遗留应用程序中未使用的代码?

mysql - 当查询没有任何行时显示默认记录

c# - 斐波那契盒

wpf - WPF和Windows Form是否有一些类似于div的控件行为

C# 将 Microsoft.Sharepoint.Client.FieldUserValue 转换为 Microsoft.Sharepoint.Client.User

c# - Visual Studio 在发布时移动内容文件

c# - 使用 Microsoft Cognitive Speech + Websocket 的连续语音识别 - Xamarin

javascript - HTML5 - 本地存储、Cookie 和 SQL

mysql 查询在多个字段中显示相同的值

c# - 选择新添加的行 - DataGridView 和 BindingSource