当我点击保存按钮时,数据不会保存到数据库 [英] When I Hit save button the data doesnt save to database

查看:63
本文介绍了当我点击保存按钮时,数据不会保存到数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,程序员在这里遇到了一个很大的问题.如您所见,这里的一位程序员教我如何使用文本框自动计算数字,并且它可以工作.我的问题是,当我按下保存"按钮时,解决方案没有保存(我认为这是在回发属性上),因此当我查看数据库时,它为空.请帮助不知道问题是什么.我是javascript中的新手
我的Java脚本代码:

Hello programmers, got a huge problem here. As you see one of the programmers here teach me how to auto calculate numbers using textboxes and it works. My problem is when i hit the save button, the solution isnt saving (i think it is on postback property) thus when i look at my database it is null. Plss help dont know what the problem is. Im just new in javascript
My java script code:

<script language="javascript">
function sum()
{
var mySum=0;
var TrainingExpenses=0;
var value1= parseInt(document.getElementById("txtmealallowance2").value);
var value2= parseInt(document.getElementById("txttransportationallowance2").value);
var value3= parseInt(document.getElementById("txtPerDiem2").value);
var value4= parseInt(document.getElementById("txttransportation2").value);
var value5= parseInt(document.getElementById("txtaccomodation2").value);
var value6= parseInt(document.getElementById("txtmealven2").value);
var value7= parseInt(document.getElementById("txtconsultant2").value);
var value8= parseInt(document.getElementById("txtmaterial2").value);
var value9= parseInt(document.getElementById("txtTE").value);
if (value1 >0)
{
mySum= mySum + value1
}
if (value2>0)
{
mySum=mySum+value2
}
if (value3>0)
{
mySum=mySum+value3
}
if (value4>0)
{
mySum=mySum+value4
}
if (value5>0)
{
mySum=mySum+value5
}
if (value6>0)
{
mySum=mySum+value6
}
if (value7>0)
{
mySum=mySum+value7
}
if (value8>0)
{
mySum=mySum+value8
}
document.getElementById("txtTE2").value=mySum
</script>


我的Aspx代码


My Aspx code

<asp:TextBox ID="txttransportationallowance2" runat="server" onkeyup="sum();" Width="95px">
<asp:TextBox ID="txtPerDiem2" runat="server" onkeyup="sum();" Width="95px">
All  is the same except 
<asp:TextBox ID="txtTE2" runat="server" BackColor="Cyan" ReadOnly="True" Width="200px">
where i didnt put the function sum cause it is the solution


我的VB代码


My VB Codes

Dim con As New SqlClient.SqlConnection("Data Source=ML0003135586;Initial Catalog=TestSQL;Integrated Security=True")
      con.Open()
      Dim cmd As New SqlClient.SqlCommand("update [tblTrainingPlan] set [complete2] = @complete2, [attendees2]=@attendees2, [batch2]=@batch2, [session2]=@session2, [mealallowance2]=@mealallowance2, [transportationallowance2]=@transportationallowance2, [perdiem2]=@perdiem2, [transportation2]=@transportation2, [acommodation2]=@acommodation2, [mealven2]=@mealven2, [consultant2]=@consultant2, [material2]=@material2, [TE2]= @TE2, [ABC]=@ABC, [Pfunded]=@Pfunded, [PMOT]=@PMOT, [Pproject]=@Pproject, [TTHvar]= @TTHvar, [TEvar]=@TEvar WHERE [ID]=@ID", con)
      cmd.Parameters.AddWithValue("@complete2", txtcomplete2.Text)
      cmd.Parameters.AddWithValue("@attendees2", txtattendees2.Text)
      cmd.Parameters.AddWithValue("@batch2", txtBatch2.Text)
      cmd.Parameters.AddWithValue("@session2", txtsession2.Text)
      cmd.Parameters.AddWithValue("@mealallowance2", txtmealallowance2.Text)
      cmd.Parameters.AddWithValue("@transportationallowance2", txttransportationallowance2.Text)
      cmd.Parameters.AddWithValue("@perdiem2", txtPerDiem2.Text)
      cmd.Parameters.AddWithValue("@transportation2", txttransportation2.Text)
      cmd.Parameters.AddWithValue("@acommodation2", txtaccomodation2.Text)
      cmd.Parameters.AddWithValue("@mealven2", txtmealven2.Text)
      cmd.Parameters.AddWithValue("@consultant2", txtconsultant2.Text)
      cmd.Parameters.AddWithValue("@material2", txtmaterial2.Text)
      cmd.Parameters.AddWithValue("@TE2", txtTE2.Text)
      cmd.Parameters.AddWithValue("@ABC", txtABC.Text)
      cmd.Parameters.AddWithValue("@Pfunded", x1.Text)
      cmd.Parameters.AddWithValue("@PMOT", y1.Text)
      cmd.Parameters.AddWithValue("@Pproject", z1.Text)
      cmd.Parameters.AddWithValue("@TTHvar", tbTTH.Text)
      cmd.Parameters.AddWithValue("@TEvar", tbTE.Text)
      cmd.Parameters.AddWithValue("@ID", lblid.Text)
      cmd.ExecuteNonQuery()
      Dim myStringVariable As String = String.Empty
      myStringVariable = "The Plan VS Actual has been saved"
      ClientScript.RegisterStartupScript(Me.[GetType](), "myalert", "alert('" & myStringVariable & "');", True)
      con.Close()


主席先生,请帮忙.它没有错误,但是没有保存.如果ispostback = false,是否有任何可能的方法在JavaScript上设置此代码,原因是当我回发TE2.text上的文本时,错误似乎出现了. 谢谢,谢谢您.


Sir plss help. It doesnt have an error but it isnt saving. Is there any possible way on javascript setting this code if ispostback = false cause the error seems when i postback the text on TE2.text becomes null
Thanks and more power sirs

推荐答案

您显然是初学者,所以让我给您一些建议.

从不 在SQL语句中使用字符串连接和未验证的用户输入.阅读有关SQL注入攻击的信息.您应该使用存储过程或至少使用参数化查询.两者都将帮助您调试VB的混乱状态.
You are clearly a beginner so let me give you some advice.

NEVER, EVER, use string concatentaion and unvalidated user input in your SQL statements. Read up on SQL Injection attacks. You should be using a stored procedure or at the least a parameterized query. Both of which will help you debug this mess of VB.


现在,如果您不使用母版页,则只需对代码进行一些修改:-

您的javascript代码:-
Now i few modification in your code if you not use the master page :-

you javascript code:-
<script language="javascript">
function sum()
{
var mySum=0;
var TrainingExpenses=0;
var value1= parseInt(document.getElementById("txtmealallowance2").value);
var value2= parseInt(document.getElementById("txttransportationallowance2").value);
var value3= parseInt(document.getElementById("txtPerDiem2").value);
var value4= parseInt(document.getElementById("txttransportation2").value);
var value5= parseInt(document.getElementById("txtaccomodation2").value);
var value6= parseInt(document.getElementById("txtmealven2").value);
var value7= parseInt(document.getElementById("txtconsultant2").value);
var value8= parseInt(document.getElementById("txtmaterial2").value);
var value9= parseInt(document.getElementById("txtTE").value);
if (value1 >0)
{
mySum= mySum + value1;
}
if (value2>0)
{
mySum=mySum+value2;
}
if (value3>0)
{
mySum=mySum+value3;
}
if (value4>0)
{
mySum=mySum+value4;
}
if (value5>0)
{
mySum=mySum+value5;
}
if (value6>0)
{
mySum=mySum+value6;
}
if (value7>0)
{
mySum=mySum+value7;
}
if (value8>0)
{
mySum=mySum+value8;
}
document.getElementById("txtTE2").value=mySum;
document.getElementById("txtTE2").focus();

return true;
</script>



现在,您将功能附加到按钮onclientclick属性(如aspx页面):-



now you attach function to button onclientclick property like your aspx page:-

<asp:textbox id="txttransportationallowance2" runat="server" xmlns:asp="#unknown">onfocusout="sum();" Width="95px">
<asp:textbox id="txtPerDiem2" runat="server" onfocusout="sum();" width="95px">
All  is the same except 
<asp:textbox id="txtTE2" runat="server" backcolor="Cyan" readonly="True" width="200px">
<asp:button id="Button1" runat="server" text="Submit" onclientclick="sum()" />
</asp:textbox></asp:textbox></asp:textbox>



我努力工作.但是我建议您在vb.net提交按钮完成时计算总和(意味着页面或服务器端完成后的代码).



I hpoe this work. but i suggest to you calculate the sum in vb.net submit button done(means code behind page or server side done).


这篇关于当我点击保存按钮时,数据不会保存到数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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