【发布时间】:2013-04-10 09:35:36
【问题描述】:
我有这个代码:
protected void Page_Load(object sender, EventArgs e)
{
SqlDataSource4.SelectParameters["zadavatel"].DefaultValue = this.Page.User.Identity.Name;
}
标记:
<InsertParameters>
<asp:Parameter Name="zadavatel" Type="String" />
</InsertParameters>
<asp:SqlDataSource ID="SqlDataSource4" runat="server"
ConnectionString="<%$ ConnectionStrings:fotbalConnectionString %>"
DeleteCommand="DELETE Diskuze WHERE Id_Diskuze=@Id_Diskuze"
SelectCommand="SELECT * FROM [Diskuze] WHERE ([Id_Zapasu] = @Id_Zapasu) ORDER BY [Datum_Vytvoreni] ASC"
InsertCommand="INSERT INTO Diskuze (Autor, TextD, Ip_Adresa, Id_Zapasu) VALUES (@zadavatel, @TextD, '127.0.0.1', @Id_zapasu)">
我想将参数 zadavatel 插入 Autor...但我收到此错误:
System.NullReferenceException: Odkaz na objekt není nastaven na instanci objektu。 (对象引用未设置为对象的实例。)
我不知道问题出在哪里:/
【问题讨论】:
-
但是如果你想插入 - 你为什么要在
SelectParameters上设置参数值??你不应该设置InsertParameters吗? -
对不起,一个错误的副本...我编辑了它...同样的错误
-
我搜索它!它必须是 SqlDataSource4.InsertParameters["zadavatel"].Def
-
你确定使用SqlDataSource是件好事吗?甚至更多,4 SqlDataSources?这是一个糟糕的设计,我祈祷 MS 有一天会改变他们的想法并永远摧毁这种可能性。当然,您有一些难以调试的问题。 UI 中的连接字符串和 SQL 命令 :((
标签: asp.net sql select insert sqldatasource