0
не удалось преобразовать значение параметра из int32 в байт Кодекса базы данныхя хочу, чтобы преобразовать из int64 в байт
и процедуры в базе данных:
веб-форму код позади:
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);
код класса:
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;
Я не думаю, что вы будете возможно, преобразовать номер телефона в байтовый ... байтовый массив. Почему бы не изменить тип в своей базе данных? См. Http://stackoverflow.com/questions/75105/what-datatype-should-be-used-for-storing-phone-numbers-in-sql-server-2005 –
В дополнение к комментарию от @Rufus L (который работает, байты хранятся от 0 до 255, что даже не достаточно велико для кода Северной Америки, не говоря уже о полном номере телефона), номера телефонов никогда не должны храниться в числовом типе. Если вам не нужно делать математику, не храните его как число. Это не даст вам ничего, кроме скорби в долгосрочной перспективе. –