当我试图填写我的数据表文本框时,我有这个问题吗? [英] I have this problem when I'm trying to fill my data table text boxes any help guys ?

查看:38
本文介绍了当我试图填写我的数据表文本框时,我有这个问题吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 Private Sub TextBox1_TextChanged(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles TextBox1.TextChanged 
Dim con As SqlConnection = New SqlConnection(Data Source = S-MHAMEED \ SQL2008RTWO; Initial Catalog = comp.task; User ID = sa; Password = likebefore)
使用(con)

Dim tb As New DataTable
Dim sqlCom As New SqlCommand()
Dim sqqla As New SqlDataAdapter()

sqlCom.Connection = con
sqlCom.CommandText =insert_emp
sqlCom.CommandType = CommandType.StoredProcedure
sqlCom.Parameters.AddWithValue(Emp_num,Val(TextBox1.Text))
sqqla =新SqlDataAdapter(sqlCom)
sqqla.Fill(tb)

如果tb.Rows.Count然后
ComboBox1.Text = tb.Rows(0).Item(debt_num)
TextBox3.Text = tb.Rows(0).Item(Emp_name)
DateTimePicker1.T ext = tb.Rows(0).Item(EMP_WORK_DATE)
TextBox5.Text = tb.Rows(0).Item(EMP_DESC)
TextBox6.Text = tb.Rows(0) .Item(DEBT_NAME)
DateTimePicker2.Text = tb.Rows(0).Item(EMP_P_DATE)
TextBox8.Text = tb.Rows(0).Item(EMP_SAL)

结束如果

结束使用
结束次级
结束等级





我尝试了什么:



这里是我的代码我想找到它但在这里有一些帮助这里是错误



无法将值NULL插入列'emp_num',表'comp.task.dbo.Employee';列不允许空值。 INSERT失败。声明已经终止。

解决方案

这里是我的DB SQL SP





 USE [comp.task] 


GO
/ ** ****对象:StoredProcedure [dbo]。[insert_emp]脚本日期:02/11/2018 16:22:22 ****** /
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


ALTER PROCEDURE [dbo]。[insert_emp]
@EMP_NUM numeric(18)= null,
@DEBT_NUM numeric( 18)= null,
@EMP_NAME varchar(150)= null,
@EMP_P_DATE smalldatetime = null,
@EMP_WORK_DATE smalldatetime = null,
@EMP_SAL NUMERIC(18)= null ,
@EMP_DESC VARCHAR(250)= null,
@DEBT_NAME VARCHAR(150)= null
AS
BEGIN
IF NOT NOT EXISTS(SELECT 1 FROM Employee WHERE EMP_NUM = @EMP_NUM)
BEGIN
INSERT INTO DBO.EMPLOYEE(DEPT_NUM,EMP_NAME,EMP_P_DATE,EMP_WORK_DATE,EMP_SAL,EMP_DESC,DEBT_NAME)
VALUES(@ DEBT_NUM,@ EMP_NAME,@ EMP _P_DATE,@ EMP_WORK_DATE,@ EMP_SAL,@ EMP_DESC,@ DEBT_NAME)
END
ELSE
BEGIN
UPDATE dbo.Employee
SET emp_num = @ EMP_NUM,dept_num = @ DEBT_NUM,emp_name = @ EMP_NAME,emp_p_date = @ EMP_P_DATE,emp_work_date = @ EMP_WORK_DATE,emp_sal = @ EMP_SAL,emp_desc = @ EMP_DESC,debt_name = @ DEBT_NAME
WHERE emp_num = @ EMP_NUM

END


Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        Dim con As SqlConnection = New SqlConnection("Data Source=S-MHAMEED\SQL2008RTWO;Initial Catalog=comp.task;User ID=sa;Password=likebefore")
        Using (con)

            Dim tb As New DataTable
            Dim sqlCom As New SqlCommand()
            Dim sqqla As New SqlDataAdapter()

            sqlCom.Connection = con
            sqlCom.CommandText = "insert_emp"
            sqlCom.CommandType = CommandType.StoredProcedure
            sqlCom.Parameters.AddWithValue("Emp_num", Val(TextBox1.Text))
            sqqla = New SqlDataAdapter(sqlCom)
            sqqla.Fill(tb)

            If tb.Rows.Count Then
                ComboBox1.Text = tb.Rows(0).Item("debt_num")
                TextBox3.Text = tb.Rows(0).Item("Emp_name")
                DateTimePicker1.Text = tb.Rows(0).Item("EMP_WORK_DATE")
                TextBox5.Text = tb.Rows(0).Item("EMP_DESC")
                TextBox6.Text = tb.Rows(0).Item("DEBT_NAME")
                DateTimePicker2.Text = tb.Rows(0).Item("EMP_P_DATE")
                TextBox8.Text = tb.Rows(0).Item("EMP_SAL")

            End If

        End Using
    End Sub
End Class



What I have tried:

here's my code im looking for to figure it out but with some help here here is the error

(

Cannot insert the value NULL into column 'emp_num', table 'comp.task.dbo.Employee'; column does not allow nulls. INSERT fails. The statement has been terminated.

)

解决方案

HERE IS MY DB SQL SP


USE [comp.task]


GO
/****** Object:  StoredProcedure [dbo].[insert_emp]    Script Date: 02/11/2018 16:22:22 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


ALTER  PROCEDURE [dbo].[insert_emp]
@EMP_NUM       numeric(18)   = null,
@DEBT_NUM      numeric(18)   =null,
@EMP_NAME      varchar(150)  =null,
@EMP_P_DATE    smalldatetime =null,
@EMP_WORK_DATE smalldatetime =null,
@EMP_SAL       NUMERIC(18)   =null,
@EMP_DESC      VARCHAR(250)  =null,
@DEBT_NAME     VARCHAR(150)  =null
AS
BEGIN
 IF NOT EXISTS(SELECT 1 FROM Employee  WHERE EMP_NUM  = @EMP_NUM )
	BEGIN
INSERT INTO DBO.EMPLOYEE ( DEPT_NUM ,EMP_NAME ,EMP_P_DATE ,EMP_WORK_DATE ,EMP_SAL ,EMP_DESC,DEBT_NAME )
VALUES (@DEBT_NUM,@EMP_NAME,@EMP_P_DATE,@EMP_WORK_DATE,@EMP_SAL,@EMP_DESC,@DEBT_NAME  )
END
	ELSE
	BEGIN
	UPDATE dbo.Employee 
		SET emp_num =@EMP_NUM  ,dept_num =@DEBT_NUM ,emp_name =@EMP_NAME ,emp_p_date =@EMP_P_DATE ,emp_work_date =@EMP_WORK_DATE ,emp_sal =@EMP_SAL ,emp_desc =@EMP_DESC ,debt_name =@DEBT_NAME  
		WHERE emp_num =@EMP_NUM 
		
	END


这篇关于当我试图填写我的数据表文本框时,我有这个问题吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆