Jump to content
GIGN Forum

Npgsql


MieZiiS_JanX
 Share

Recommended Posts

Drošivien man būs ntie jautājumi, bet var mēģināt.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Npgsql;
namespace WindowsFormsApplication15
{
public partial class Form1 : Form
{
	NpgsqlDataAdapter adapterdarbs = new NpgsqlDataAdapter();

	public Form1()
	{
		InitializeComponent();
		NpgsqlConnection conn = new NpgsqlConnection("Server=localhost;Port=5432;Database=uznemums;User Id=roberts;Password=parole;");
		conn.Open();

		//darbs
		NpgsqlCommand sCmd = new NpgsqlCommand("SELECT * FROM darbs", conn);

		NpgsqlCommand upCmd = new NpgsqlCommand("UPDATE darbs SET nosaukums=@nosaukums,alga=@alga WHERE darbs_id=@darbs_id", conn);
		upCmd.Parameters.Add(new NpgsqlParameter("@nosaukums", NpgsqlTypes.NpgsqlDbType.Varchar, 30, "nosaukums"));
		upCmd.Parameters.Add(new NpgsqlParameter("@alga", NpgsqlTypes.NpgsqlDbType.Numeric, 4, "alga"));
		upCmd.Parameters.Add(new NpgsqlParameter("@darbs_id", NpgsqlTypes.NpgsqlDbType.Integer, sizeof(int), "darbs_id"));

		NpgsqlCommand delCmd = new NpgsqlCommand("DELETE FROM darbs WHERE darbs_id=@darbs_id", conn);
		delCmd.Parameters.Add(new NpgsqlParameter("@darbs_id", NpgsqlTypes.NpgsqlDbType.Integer, sizeof(int), "darbs_id"));

		NpgsqlCommand addCmd = new NpgsqlCommand("INSERT INTO darbs (darbs_id,nosaukums,alga) VALUES(@darbs_id,@nosaukums,@alga)", conn);
		addCmd.Parameters.Add(new NpgsqlParameter("@darbs_id", NpgsqlTypes.NpgsqlDbType.Integer, sizeof(int), "darbs_id"));
		addCmd.Parameters.Add(new NpgsqlParameter("@nosaukums", NpgsqlTypes.NpgsqlDbType.Varchar, 30, "nosaukums"));
		addCmd.Parameters.Add(new NpgsqlParameter("@alga", NpgsqlTypes.NpgsqlDbType.Numeric, 6, "alga"));

		adapterdarbs.SelectCommand = sCmd;
		adapterdarbs.UpdateCommand = upCmd;
		adapterdarbs.DeleteCommand = delCmd;
		adapterdarbs.InsertCommand = addCmd;

	}
	void get_data()
	{
			DataTable dt = new DataTable();
			adapterdarbs.Fill(dt);
			dataGridView1.DataSource = dt;  //piesaista dataGridView
	}
	void send_data()
	{
		try
		{

			if ((DataTable)dataGridView1.DataSource != null)
			{
				adapterdarbs.Update((DataTable)dataGridView1.DataSource);
			}
			else
				MessageBox.Show("Nav datu, ko sutit");
		}
		catch (Exception msg)
		{
			MessageBox.Show(msg.ToString());
			//throw;
		}
	}

	private void Form1_Load(object sender, EventArgs e)
	{
	}
	private void toolStripButton1_Click(object sender, EventArgs e)
	{
		get_data();
	}
	private void toolStripButton2_Click(object sender, EventArgs e)
	{
		send_data();
	}
	private void toolStripButton3_Click(object sender, EventArgs e)
	{
		DialogResult result;
		result = MessageBox.Show("Vai velies iziet?","Aizvērt", MessageBoxButtons.YesNo);
		if (result == DialogResult.No)
		{
			//nedarit neko
		}
		if (result == DialogResult.Yes)
		{
			Application.Exit();
		}
	}
	private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
	{
	}
	private void dataGridView3_CellContentClick(object sender, DataGridViewCellEventArgs e)
	{
	}
}
}

Drošivien kods ir pretīgs, nepareizs, nepārskatāms utt., bet man galvenais pagaidām ir iebraukt pāris lietas.

Tātad man ir datagrids, kā arī toolstrips ar 3 pogām, ok aizvērt poga nav svarīga. Poga datu ielādei darbojas, bet kas man aptuveni jāraksta lai dati tiktu arī saglabāti, t.i. es varētu labot, dzēst un pievienot datus, nospiežot uz pogas saglabāt, tie tiktu saglabāti datubāzē.

Es iesākumā gribēju pamēģināt ar vienu datubāzes tabulu, tapēc daļa no koda būtu lieka.

Edited by MieZiiS_JanX
Link to comment
Share on other sites

Link to comment
Share on other sites

ja dati nav "null", tad sanāk, ka ielādējot datus, kaut ko ierakstot un nospiežot pogu dati nebūs "null",viņam ar koda rindiņu 'adapterdarbs.Update((DataTable)dataGridView1.DataSource); ' vajadzēja apdeitot datubāzi, sanāk, ka nedarbojas man šī rindiņa, jo nekas netiek apdeitots.

Link to comment
Share on other sites

  • 1 month later...

Kas varētu būt par vainu, ka nedarbojas meklēšana? :(

BindingSource bsK = new BindingSource();

bsK.DataSource = dt;

string filter = "1=1";

filter += (this.textBox1.Text != "") ? "AND nosaukums='" + this.textBox1.Text + "'" : "";

bsK.Filter = filter;

Jocīgākais, ka sākumā viss gāja.

Varbūt datagridam propertijos kaut kas jānomaina?

Link to comment
Share on other sites

  • 2 months later...

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...