에 행을 추가 할 수 없습니다, 이것은 내가 그것을 위해 사용되는 코드입니다 :내 데이터베이스
private Connexion connexion = new Connexion();
private SqlDataAdapter daAuteur;
private byte[] imgData;
class Connexion
{
public DataSet ds = new DataSet();
public SqlConnection cnx = new SqlConnection("Data Source=MAC-BOOK-AIR;Initial Catalog=Gestion_bib;Integrated Security=True");
}
private void AjoutAuteur_Load(object sender, EventArgs e)
{
InitializeOpenFileDialog();
daAuteur = new SqlDataAdapter("select * from Auteur", connexion.cnx);
daAuteur.Fill(connexion.ds, "Auteur");
}
private void AjoutAuteur_Load(object sender, EventArgs e)
{
InitializeOpenFileDialog();
daAuteur = new SqlDataAdapter("select * from Auteur", connexion.cnx);
daAuteur.Fill(connexion.ds, "Auteur");
}
private void ajouterNewBook_Click(object sender, EventArgs e)
{
DataRow row = connexion.ds.Tables["Auteur"].NewRow();
row[1] = String.IsNullOrEmpty(nomAuteurBox.Text) ?
DBNull.Value :
nomAuteurBox.Text as Object;
row[2] = String.IsNullOrEmpty(prenomAuteurBox.Text) ?
DBNull.Value :
prenomAuteurBox.Text as Object;
row[3] = String.IsNullOrEmpty(nomAuteurBox.Text) ?
DBNull.Value :
dateDeNaissanceAuteurBox.Text as Object;
row[4] = String.IsNullOrEmpty(lieuDeNaissanceAuteurBox.Text) ?
DBNull.Value :
lieuDeNaissanceAuteurBox.Text as Object;
row[5] = String.IsNullOrEmpty(nationaliteAuteurBox.Text) ?
DBNull.Value :
nationaliteAuteurBox.Text as Object;
if (decesCheckBox.Checked)
{
row[6] = true;
row[7] = String.IsNullOrEmpty(dateDecesAuteurBox.Text) ?
DBNull.Value :
dateDecesAuteurBox.Text as Object;
row[8] = String.IsNullOrEmpty(lieuDecesAuteurBox.Text) ?
DBNull.Value :
lieuDecesAuteurBox.Text as Object;
}
else
{
row[6] = false;
row[7] = DBNull.Value;
row[8] = DBNull.Value;
}
row[9] = String.IsNullOrEmpty(periodeAuteurBox.Text) ?
DBNull.Value :
periodeAuteurBox.Text as Object;
row[10] = String.IsNullOrEmpty(resumeAuteurBox.Text) ?
DBNull.Value :
resumeAuteurBox.Text as Object;
row[11] = String.IsNullOrEmpty(lien1Box.Text) ?
DBNull.Value :
lien1Box.Text as Object;
imgData = new ImageConverter().ConvertTo(auteurPhoto.Image, typeof(Byte[])) as Byte[];
row[12] = imgData == null ?
DBNull.Value :
imgData as Object;
connexion.ds.Tables["Auteur"].Rows.Add(row);
SqlCommandBuilder cmb = new SqlCommandBuilder(daAuteur);
daAuteur.Update(connexion.ds, "Auteur");
}
하지만 그것은 나에게 오류를 제공합니다
문자열 또는 이진 데이터가 잘립니다. 진술서가 만료되었습니다
어디에 문제가 있습니까?
SQL 엔진에 전달하는 값이 비어 있거나 null이며이 오류와 같은 원인이 있다고 생각합니다. 마녀가 비어있는 것을 찾기 위해 코드를 추적하십시오. –
각'row [i] ='문을' row [i] = "dummy"또는 행에 필요한 유형. 실행중인 경우 값을 하나씩 다시 넣고 실패를 일으키는 값을 확인합니다. –