Jump to content

Botão Guardar os dados da textbox na BD (?)


Recommended Posts

Posted

ALGUÉM QUE ME AJUDE 😄

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.IO;
using System.Drawing;
using System.Web.Security;
using System.Configuration;
namespace OpenFinance.Configuracoes
{
public partial class ErpFinancialVars : System.Web.UI.Page
{
	private SqlConnection mConn;
	private SqlDataAdapter mAdapter;
	private DataSet mDataSet;	



	private static void CreateCommand(string queryString, string connectionString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
	SqlCommand cmd = new SqlCommand(queryString, connection);
	cmd.Connection.Open();
	cmd.ExecuteNonQuery();
}
}
	protected void Page_Load(object sender, EventArgs e)
	{

	}

  public void carregaDados()
	{
		mDataSet = new DataSet();
		SqlConnection conn = new SqlConnection("Data Source=(local);Initial Catalog=OpenFinance;Integrated Security=SSPI");


	  conn.Open();

	  string query = "SELECT * FROM ErpFinacialVars ORDER BY ErpFinancialVarId";

	  SqlCommand cmd = new SqlCommand(query, conn);

	  mAdapter.Fill(mDataSet, "ErpFinancialVars");

		gdvVars.DataSource = mDataSet;
		gdvVars.DataMember = "ErpFinancialVars";



	}


	protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
	{
		foreach (GridViewRow row in gdvVars.Rows)
		{
			CheckBox ch = (CheckBox)row.FindControl("CheckBox2");
			if (ch != null)
			{
				ch.Checked = (sender as CheckBox).Checked;
			}

		}
	}

	protected void Selecionar_Click(object sender, EventArgs e)
	{
		foreach (GridViewRow row in gdvVars.Rows)
		{
			CheckBox ch = (CheckBox)row.FindControl("CheckBox2");
			if (ch != null)
			{
				if (ch.Checked)
				{

					txtID.Text = row.Cells[1].Text;
					txtVariable.Text = row.Cells[2].Text;
					txtDescription.Text = row.Cells[3].Text;
					txtBUBSignal.Text = row.Cells[4].Text;
					txtYear.Text = row.Cells[5].Text;
					txtMonth.Text = row.Cells[6].Text;
					txtValue.Text = row.Cells[7].Text;
				}

			}
		}
		btnEditarVars.Enabled = true;
		btnEliminarVars.Enabled = true;
		btnGuardarVars.Visible = false;
		txtID.Enabled = false;
		txtVariable.Enabled = false;
		txtDescription.Enabled = false;
		txtBUBSignal.Enabled = false;
		txtYear.Enabled = false;
		txtMonth.Enabled = false;
		txtValue.Enabled = false;
		lblmsg.Visible = false;

	}

	protected void btnNovoVars_Click(object sender, EventArgs e)
	{
		{
			txtID.Text = ObterMaiorCodigoMaisUm().ToString();
			txtVariable.Text = "";
			txtDescription.Text = "";
			txtBUBSignal.Text = "";
			txtYear.Text = "";
			txtMonth.Text = "";
			txtValue.Text = "";

			lblmsg.Text = "Após inserção clica em Guardar.";
			lblmsg.Visible = true;

			btnGuardarVars.Visible = true;
			txtID.Enabled = false;
			txtVariable.Enabled = true;
			txtDescription.Enabled = true;
			txtBUBSignal.Enabled = true;
			txtYear.Enabled = true;
			txtMonth.Enabled = true;
			txtValue.Enabled = true;
		}
	}

  protected void btnGuardarVars_Click(object sender, EventArgs e)
	{

								(?)

}
	protected void btnEliminarVars_Click(object sender, EventArgs e)
	{

								  (?)
	}


	protected void btnEditarVars_Click(object sender, EventArgs e)
	{
		btnGuardarVars.Visible = true;
		txtID.Enabled = false;
		txtVariable.Enabled = true;
		txtDescription.Enabled = true;
		txtBUBSignal.Enabled = true;
		txtYear.Enabled = true;
		txtMonth.Enabled = true;
		txtValue.Enabled = true;
		lblmsg.Visible = true;
		lblmsg.Text = "Após edição clica em Guardar.";
	}

	private int ObterMaiorCodigoMaisUm()
	{
		//variável que será retornada
		int codigo = 0;
		//Conexão
		SqlConnection conn = new SqlConnection("Data Source=(local);Initial Catalog=OpenFinance;Integrated Security=SSPI");
		//query do comando que verifica
		//o maior numero da coluna ID
		string query = "SELECT MAX(ErpFinancialVarId) FROM ErpFinancialVars";
		//instância do comando onde passo
		//a query e a conexão
		SqlCommand cmd = new SqlCommand(query, conn);
		//Abro conexão
		conn.Open();
		//atribuo o maior código a variável
		//código dando um executescalar
		codigo = Convert.ToInt32(cmd.ExecuteScalar());
		//fecho conexão
		conn.Close();
		//retorno o´maior código do bd
		//mais um
		return codigo + 1;

	}
	}

}
Posted (edited)

Guardar os dados da textbox na BD é

conn.opne();
Sqlcommand guarda= new sqlcommand ("INSERT INTO tabela (dado1,dado2) VALUES("+textboxDado1.text+","+textboxDado2.text+"  )", conn);
guarda.ExecuteNonQuery();
conn.close();
Edited by po1725
Posted (edited)

Rechousa (analisa-me S.F.V) - err: ExecuteNonQuery

protected void btnGuardarVars_Click(object sender, EventArgs e)

{

string conn = ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString;

using (SqlConnection con = new SqlConnection(conn))

{

SqlCommand cmd = new SqlCommand("Insert into ErpFinancialVars(ErpFinancialVarId, Variable, Description, BuildUpBalanceSignal, Year, Month, Value) values(@ErpFinancialVarId, @Variable, @Description, @BuildUpBalanceSignal, @Year, @Month, @Value)", con);

cmd.CommandType = CommandType.Text;

cmd.Parameters.AddWithValue("@ErpFinancialVarId", txtID.Text.Trim());

cmd.Parameters.AddWithValue("@Variable", txtVariable.Text.Trim());

cmd.Parameters.AddWithValue("@Description", txtDescription.Text.Trim());

cmd.Parameters.AddWithValue("@BuildUpBalanceSignal", txtBUBSignal.Text.Trim());

cmd.Parameters.AddWithValue("@Year", txtYear.Text.Trim());

cmd.Parameters.AddWithValue("@Month", txtMonth.Text.Trim());

cmd.Parameters.AddWithValue("@Value", txtValue.Text.Trim());

con.Open();

cmd.ExecuteNonQuery();

}

}

Edited by jrlcp32
Posted

erro ExecuteNonQuery

Cannot insert the value NULL into column 'ModifiedOn', table 'Openfinance.dbo.ErpFinancialVars'; column does not allow nulls. INSERT fails.

The statement has been terminated.

Posted

Isso acontece porque o teu campo ModifiedOn não permite valores nulos. Tens 3 hipoteses:

- mudas o campo na tabela para permitir nulos;

- acrescentas um default value ao campo;

- colocas o campo no Insert, porque não está lá e por não estar no comando de insert, não ter um default value associado e não permitir nulos... dá erro...

Pedro Martins

Sharing is Knowledge!

http://www.linkedin.com/in/rechousa

Posted

Apesar de ser outra tabela o problema é o mesmo . (e ao outra tb continua 😛 )

protected void btnGuardarKpi_Click(object sender, EventArgs e)
    {
	    string conn = ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString;
	    using (SqlConnection con = new SqlConnection(conn))
	    {
		    SqlCommand cmd = new SqlCommand("Insert into ErpFinancialKpiLimits(ErpFinancialKpiLimitId, FinancialKPI, MinYellow, MinRed, MaxYellow, MaxRed," + "CreatedBy, CreatedOn, ModifiedBy, ModifiedOn) values(@ErpFinancialKpiLimitId, @FinancialKPI, @MinYellow, @MinRed, @MaxYellow, @MaxRed,@CreatedOn,@ModifiedOn"  + "@CreatedBy, GetDate(), @ModifiedBy, GetDate())", con);
		    cmd.CommandType = CommandType.Text;
		    cmd.Parameters.AddWithValue("@ErpFinancialKpiLimitId", txtKpiID.Text.Trim());
		    cmd.Parameters.AddWithValue("@FinancialKPI", txtFinancialKpi.Text.Trim());
		    cmd.Parameters.AddWithValue("@MinYellow", txtMinYellow.Text.Trim());
		    cmd.Parameters.AddWithValue("@MinRed", txtMinRed.Text.Trim());
		    cmd.Parameters.AddWithValue("@MaxYellow", txtMaxYellow.Text.Trim());
		    cmd.Parameters.AddWithValue("@MaxRed", txtMaxRed.Text.Trim());

		    con.Open();
		    cmd.ExecuteNonQuery();
	    }
    }

Isso acontece porque o teu campo ModifiedOn não permite valores nulos. Tens 3 hipoteses:

- mudas o campo na tabela para permitir nulos;

- acrescentas um default value ao campo;

- colocas o campo no Insert, porque não está lá e por não estar no comando de insert, não ter um default value associado e não permitir nulos... dá erro...

Não tenho autorização para alterar a BD.

Este é um projeto na empresa onde estou a estagiar, como é a primeira vez que utilizo ASP.NET e C# vem dai as minhas duvidas.

Posted

O teu problema é que estás a passar o nome da função GetDate() em vez de passar a data como parâmetro da query. Isso é transformado num NULL.

Em vez de :

"@CreatedBy, GetDate(), @ModifiedBy, GetDate())"

faz

"@CreatedBy, " + GetDate() + ", @ModifiedBy, " + GetDate() + ")"
Posted

O teu problema é que estás a passar o nome da função GetDate() em vez de passar a data como parâmetro da query. Isso é transformado num NULL.

Em vez de :

"@CreatedBy, GetDate(), @ModifiedBy, GetDate())"

faz

"@CreatedBy, " + GetDate() + ", @ModifiedBy, " + GetDate() + ")"

nao dá,o getdate() fica sublinhado a vermelho "erro" .

so se criar um função !?!

Desculpa, mas não percebi...

A questão dos nulos do campo ModifiedOn na tabela ErpFinancialVars ficou resolvido?

Estás com outro problema, é isso? Problema novo... Tópico novo 😉

Eu quando vou para editar a BD e seleciono "Allow Null" não me deixa gravar

Desculpa, mas não percebi...

A questão dos nulos do campo ModifiedOn na tabela ErpFinancialVars ficou resolvido?

Estás com outro problema, é isso? Problema novo... Tópico novo 😉

nao dá,o getdate() fica sublinhado a vermelho "erro" .

so se criar um função !?!

Acho que já consegui editar 😄

Agora so insiro os dados que quero que sejam visíveis, certo ?

P..S não sei se me percebeste?

Afinal não deu quando vou gravar as alterações diz "Save changes is not permited "

Posted

É impressão minha ou na instrução de insert os argumentos estão engatados, tens qualquer coisa como: insert into(10 campos diferentes) values(12 campos diferentes).

O GetDate() pode ser usado à vontade é uma função de SQL Server. Ajeita é a query de insert que não está com os campos todos no into.

Posted

Pessoal Obrigado por tudo, já consegui...

se quiserem eu mostro vos como é que ficou

		  SqlConnection connection = new SqlConnection("Data Source=(local);Initial Catalog=OpenFinance;Integrated Security=SSPI");
	    connection.Open();
	    string ErpFinancialVarId = txtID.Text;
	    string Variable = txtVariable.Text;
	    string Description = txtDescription.Text;
	    string BuildUpBalanceSignal = txtBUBSignal.Text;
	    string Year = txtYear.Text;
	    string Month = txtMonth.Text;
	    string Value = txtValue.Text;
	    string sqlquery = ("INSERT INTO ErpFinancialVars (ErpFinancialVarId, Variable, Description, BuildUpBalanceSignal, Year, Month, Value) Values ('" + txtID.Text + "','" + txtVariable.Text + "','" + txtDescription.Text + "','" + txtBUBSignal.Text + "','" + txtYear.Text + "','" + txtMonth.Text + "','" + txtValue.Text + "')");
	    SqlCommand command = new SqlCommand(sqlquery, connection);
	    command.Parameters.AddWithValue("ErpFinancialVarId", ErpFinancialVarId);
	    command.Parameters.AddWithValue("Variable", Variable);
	    command.Parameters.AddWithValue("Description", Description);
	    command.Parameters.AddWithValue("BuildUpBalanceSignal", BuildUpBalanceSignal);
	    command.Parameters.AddWithValue("Year", Year);
	    command.Parameters.AddWithValue("Month", Month);
	    command.Parameters.AddWithValue("Value", Value);
	    command.ExecuteNonQuery();
	    Response.Redirect(Request.Url.ToString());

já agora eu como tenho vários campos como é que faço para o botão Update?

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.