데이터베이스의 특정 레코드를 변경하는 데 사용하는 웹 양식이 있습니다. 필드는 다음과 같이 SqlDataReader 개체를 사용하여 뒤에 C# 코드를 통해 데이터에 의해 채워집니다 :ASP.NET 웹 폼 업데이트 명령이 작동하지 않습니다.
는protected void Page_Load(object sender, EventArgs e)
{
string str = "Data Source=My_DB;Initial Catalog=BillingAuths;Integrated Security=True";
string queryString =
"SELECT * FROM [AuthRecords] WHERE [ID] = @RecordID;";
using (SqlConnection connection =
new SqlConnection(str))
{
SqlCommand command = new SqlCommand(queryString,connection);
connection.Open();
int qRecord = Convert.ToInt32(Request.QueryString["RecordID"]);
command.Parameters.AddWithValue("@RecordID", qRecord);
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
EmailCntyDate.Text = (reader["EMailCountyDate"].ToString());
EmailCtyCnct.Text = (reader["EMailCountyContact"].ToString());
EmailCntyAppDate.Text = (reader["EMailCountyAppDate"].ToString());
}
이 잘 작동합니다 : 필드는 DB에서 올바른 값으로 채워집니다. 여기에서 사용자는 정보를 편집 한 다음 버튼을 클릭하여 UPDATE 명령을 활성화합니다. 이 코드는 HTML 형식입니다.
<asp:SqlDataSource ID="DB_Auths" runat="server" ConnectionString="<%$ ConnectionStrings:MyConnection %>" UpdateCommand="
UPDATE [dbo].[Records]
SET [EMailCountyContact][email protected],
[EMailCountyDate][email protected],
[EMailCountyApp][email protected]
WHERE [ID] = @RecordID">
<UpdateParameters>
<asp:QueryStringParameter Name="RecordID" Type="Int32" DefaultValue="null" QueryStringField="RecordID" />
<asp:ControlParameter ControlID="EmailCntyDate" Name="uEMailCountyDate" />
<asp:ControlParameter ControlID="EmailCtyCnct" Name="uEMailCountyContact" />
<asp:ControlParameter ControlID="EmailCntyApp" Name="uEMailCountyApp" />
</UpdateParameters>
</asp:SqlDataSource>
<asp:Button runat="server" ID="Sumbit" Text="Save" OnClick="Sumbit_Click" />
이
업데이트 프로세스 (이론) 코드 숨김 활성화입니다 : 내가 버튼을 클릭하면protected void Sumbit_Click(object sender, EventArgs e)
{
try
{
DB_Auths.Update();
Response.Redirect("~/Default.aspx");
}
catch (Exception error)
{
Response.Write("WARNING: WRITE TO DATA WAREHOUSE FAILED! Error:" + error);
}
}
이 오류 메시지가 반환되지 않으며 나는 업데이트로 리디렉션 성공했다 ; 그러나 데이터베이스를 검사 할 때 기록은 이전과 완전히 동일합니다.
무엇을 제공합니까?
휴식 지점을 유지하고 어떤 값이 RecordID에 전달되는지 확인해 주시겠습니까? 포스트에서 삭제 될 수 있습니다. 나는 확실하지 않다. 그러나 그것을 두 번 점검해라. –
그것은 그것을했다! 멍청한 놈 손 빌려 줘서 고마워! –