gpt4 book ai didi

c# - 选择 SqlCommand 返回字符

转载 作者:太空狗 更新时间:2023-10-30 01:20:41 25 4
gpt4 key购买 nike

我有这部分代码为 column char(20) 执行 SELECT SqlCommand 但结果总是返回 0 - 这个是因为我不知道如何改进我的代码,所以它会返回 char(20) - 在此列中插入的值。

 SqlCommand sc = new SqlCommand("SELECT doklad FROM netpokl WHERE id_dok=" + newIdentity, spojeni);
spojeni.Open();

int id_dok = Convert.ToChar(sc.ExecuteScalar());

spojeni.Close();

MessageBox.Show("" + id_dok);

SqlCommand sc2 = new SqlCommand("UPDATE kliplat set doklad=@doklad WHERE id="+newIdentity, spojeni);
sc2.Parameters.AddWithValue("@doklad", id_dok);

spojeni.Open();
sc2.ExecuteNonQuery();
spojeni.Close();

有人可以帮我改进我的代码吗?

最佳答案

SqlCommand sc = new SqlCommand(string.Format("SELECT doklad FROM netpokl WHERE id_dok='{0}'", newIdentity), spojeni);
object obj = sc.ExecuteScalar();
if(obj == null) ; //Should show some message or throw exception
string id_dok = obj.ToString().PadRight(20);
//...
SqlCommand sc2 = new SqlCommand(string.Format("UPDATE kliplat set doklad=@doklad WHERE id='{0}'",newIdentity), spojeni);
//...

顺便说一句:我认为这不是必需的。事实上,您应该检查它的长度是否 > 20,然后字符串应该被截断。您的数据库表也应该改用 nvarchar(20)

关于c# - 选择 SqlCommand 返回字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18282503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com