Вставить ошибку запроса "строка или двоичные данные будут усечены. Заявление было прекращено. С#"
Структура моей таблицы :
Alter TABLE [dbo].[tbStudInfo]( [stdID] [varchar](50) NOT NULL, [fname] [varchar](50) NOT NULL, [lname] [varchar](50) NOT NULL, [address] [varchar](50) NULL, [city] [varchar](50) NOT NULL, [pcode] [bigint] NULL, [phno] [varchar](50) NULL, [cellno] [varchar](50) NULL, [gender] [varchar](10) NOT NULL, [emailID] [varchar](50) NOT NULL, [bdate] [varchar](50) NULL, [qua] [varchar](50) NULL, [cID] [varchar](50) NOT NULL, [fcID] [varchar](50) NOT NULL, [bid] [varchar](20) NOT NULL, [Filename] [varchar](50) NULL, [ContentType] [varchar](255) NULL, [Data] [binary](1) NULL ) ON [PRIMARY]
при вставке данных в базу данных cmd.Ошибка метода executenonquery показать
string or binary data would be truncated. the statement has been terminated.'
string strQuery = "insert into tbStudInfo values(@stdid,@fname,@lname,@address,@city,@pcode,@phno,@cellno,@gender,@emailID,@bdate,@qua,@cID,@fcID,@bid,@Filename,@ContentType,@Data)"; SqlCommand cmd = new SqlCommand(strQuery, con); cmd.Parameters.Add("@stdid", SqlDbType.VarChar ,50).Value = txtStID.Text; cmd.Parameters.Add("@fname", SqlDbType.VarChar ,50).Value = txtFname.Text; cmd.Parameters.Add("@lname", SqlDbType.VarChar,50).Value = txtLname.Text; cmd.Parameters.Add("@address", SqlDbType.VarChar,50).Value = txtAdd.Text; cmd.Parameters.Add("@city", SqlDbType.VarChar, 50).Value = txtCity.Text; cmd.Parameters.Add("@pcode", SqlDbType.BigInt).Value = Convert.ToInt64(txtPcode.Text); // cmd.Parameters.AddWithValue("@phno", int.Parse(txtPhno.Text)); //cmd.Parameters.AddWithValue("@cellno", int.Parse(txtCell.Text)); cmd.Parameters.Add("@phno", SqlDbType.VarChar, 50).Value = txtPhno.Text; cmd.Parameters.Add("@cellno", SqlDbType.VarChar,50).Value =txtCell.Text; cmd.Parameters.Add("@gender", SqlDbType.VarChar,10).Value = RadioButtonList1.SelectedItem.Text; cmd.Parameters.Add("@emailID", SqlDbType.VarChar,50).Value = txtMailID.Text; cmd.Parameters.Add("@bdate", SqlDbType.VarChar,50).Value = ""; cmd.Parameters.Add("@qua", SqlDbType.VarChar,50).Value = txtQua.Text; cmd.Parameters.Add("@cID", SqlDbType.VarChar,50).Value = tecourse; cmd.Parameters.Add("@fcID", SqlDbType.VarChar,50).Value = teFaculty; cmd.Parameters.Add("@bid", SqlDbType.VarChar,20).Value = cmbBacthID.SelectedItem.ToString(); cmd.Parameters.Add("@Filename", SqlDbType.VarChar,50).Value = filename; cmd.Parameters.Add("@ContentType", SqlDbType.VarChar,50).Value = contenttype; cmd.Parameters.Add("@Data", SqlDbType.Binary).Value = bytes; cmd.ExecuteNonQuery();
Что я уже пробовал:
информация о студенте вставка данных в базу данных
Richard MacCutchan
Предположим, что одно из ваших текстовых значений длиннее поля, в которое вы пытаетесь его вставить.