基本上,我将FormView与ItemTemplate和EditItemTemplate控件一起使用。加载数据工作正常(通过DataSource绑定),当我单击编辑(现在进入EditItemTemplate控件)时,它运行良好,但是当我单击“保存”时,出现以下错误:
无法将值NULL插入表'dyswis.dbo.tbl_students'的'graduation_date'列中;列不允许为空。更新失败
当文本框中有一个值时,我不明白为什么它为null。其他表单字段可以正常工作。我怀疑这与日期的格式甚至文本模式有关。
ASP.NET:
<asp:TextBox ID="txtGradDate"
Text='<%#((DateTime)Eval("graduation_date")).ToString("yyyy-MM-dd") %>'
CssClass="form-control" TextMode="Date" runat="server"></asp:TextBox>
数据源:
<UpdateParameters>
<asp:Parameter Name="id" Type="Int16" />
<asp:Parameter Name="email" Type="String" />
<asp:Parameter Name="first_name" Type="String" />
<asp:Parameter Name="last_name" Type="String" />
<asp:Parameter Name="university" Type="String" />
<asp:Parameter Name="program" Type="String" />
<asp:Parameter Name="student_number" Type="String" /><
<asp:Parameter Name="graduation_date" Type="DateTime" />
<asp:Parameter Name="student_card_image_name" Type="String" />
<asp:Parameter Name="id_card_image_name" Type="String" />
</UpdateParameters>
SQL Server存储过程:
CREATE PROCEDURE [dbo].[student_update]
@id INT,
@university VARCHAR(200),
@program VARCHAR(200),
@student_number VARCHAR(50),
@graduation_date DATETIME,
@student_card_image_name VARCHAR(500) = NULL,
@id_card_image_name VARCHAR(500) = NULL
AS
UPDATE tbl_students
SET university = @university,
program = @program,
student_number = @student_number,
graduation_date = @graduation_date
WHERE
user_id = @id
SQL Server表定义:
graduation_date DATETIME
答案 0 :(得分:1)
您需要从import java.util.*;
public class trycatch {
public static void main(String args[]) {
Scanner sc=new Scanner(System.in);
String a;
System.out.println("\n\nEnter the name");
try {
a=sc.nextLine();
System.out.println("You name is "+a);
}
catch(InputMismatchException b) {
System.out.println("There is problem with your input");
}
}
}
中获取graduation_date
字段的值。
可以使用TextBox
UpdateParameters
的列表中
ControlParameter
答案 1 :(得分:1)
需要通过ControlParameter
引用文件,如下所示:
如果您的FormView
ID是“ formView”,而textBox
ID是txtGradDate。
<asp:ControlParameter Name="graduation_date" ConvertEmptyStringToNull="true" Type="DateTime" ControlID="formView$txtGradDate" PropertyName="Text" />