我想从 int64 转换为 byte

i want to convert from int64 to byte

无法将参数值从 int32 转换为字节 数据库代码

数据库中的过程是:

后面的webform代码:

client c = new client();
c.name = Textbox_Addclient_first.Text + " " + Textbox_Addclient_second.Text + 
    " " + Textbox_Addclient_third.Text;
c.address = Textbox_addclientadress.Text;
c.phone = int.Parse(Textbox_addclientphone.Text);

class代码是:

SqlCommand com = new SqlCommand("add_client", con);

com.CommandType = CommandType.StoredProcedure;
com.Parameters.Add("@name", SqlDbType.NVarChar).Value = this.name;
com.Parameters.Add("@address", SqlDbType.NVarChar).Value = this.address;
com.Parameters.Add("@name", SqlDbType.TinyInt).Value = this.phone;
com.ExecuteNonQuery();
con.Close();

b = true;

这一行:

com.Parameters.Add("@name", SqlDbType.TinyInt).Value = this.phone;
  1. 您正在尝试将 phone 对象传递给名称参数。
  2. 您正在使用 tinyint,varchar(10) 是更好的选择,但如果您坚持使用整数,int64 应该足够了。
  3. 如果您使用 int 来确保只传递数字,请使用“[0-9]{10}”
  4. 对字符串中的数字进行正则表达式检查