Archief - C# Zoek functie help

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Ajkea

Legacy Member
Dag iedereen,

Ik zou graag een zoekfunctie werkende maken met een datagridview, heeft iemand enig idee hoe ik dit moet doen. Ik zal de code die ik tot nu toe heb posten zodat je kan zien wat ik al heb en wat ik fout doe... ik heb al gegoogled maar ik vind niet echt iets dat toepasbaar is op mijn project.

Code:
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 System.Data.Sql;
using System.Data.SqlClient;

namespace Libary
{
    public partial class Zoek : Form
    {
        public Zoek(Login login)
        {
            log = login;
            InitializeComponent();
        }
        Login log;

        private void Zoek_Load(object sender, EventArgs e)
        {
            dgvProducten.AutoSize = true;

            string SQLZoek = "Select * FROM Producten";
            this.tblProductenTableAdapter.Fill(this.connProducten.tblProducten);

        }

        private void btnZoek_Click(object sender, EventArgs e)
        {
        SqlCommand queryZoeken = new SqlCommand();
            //query = "";

            //query = "SELECT * FROM tblProducten WHERE Product LIKE '%" txtZoek.Text; "%'";
            //queryZoeken.CommandText = query;

            SqlDataAdapter connProducten = new SqlDataAdapter(queryZoeken);
        }
    }
}

hopelijk kan iemand me helpen :)

Met vriendelijke groeten,
Ajkea

kows

Legacy Member
redelijk basic nog maar wat je hebt...
beginneling wss? :)

SqlCommand queryZoeken = new SqlCommand();
string query = "";

query = "SELECT * FROM tblProducten WHERE Product LIKE '%" + txtZoek.Text + "%'";
queryZoeken.CommandText = query;
queryZoeken.CommandType = CommandType.Text;

SqlDataAdapter connProducten = new SqlDataAdapter(queryZoeken);


dit zal wss al wat helpen,
btw je werkt normaal gezien beter met stored procedure + sqlparameter voor security reasons.

vb uit project dat ik net vind waar het ook nog met tekst is:

DataSet dataSet = null;
SqlDataAdapter da = new SqlDataAdapter(command);
dataSet = new DataSet();
da.Fill(ds);
if (dataSet != null && dataSet.Tables.Count > 0 && dataSet.Tables[0].Rows.Count > 0)
{
foreach (DataRow dr in dataSet.Tables[0].Rows)
{
string naam = dr["Naam"].ToString();
}
}

Ajkea

Legacy Member
kows zei:
redelijk basic nog maar wat je hebt...
beginneling wss? :)

SqlCommand queryZoeken = new SqlCommand();
string query = "";

query = "SELECT * FROM tblProducten WHERE Product LIKE '%" + txtZoek.Text + "%'";
queryZoeken.CommandText = query;
queryZoeken.CommandType = CommandType.Text;

SqlDataAdapter connProducten = new SqlDataAdapter(queryZoeken);


dit zal wss al wat helpen,
btw je werkt normaal gezien beter met stored procedure + sqlparameter voor security reasons.
ja compleet beginnend...
bedankt maar ik veronderstel dat het werkt maar het geeft de gegevens niet weer? het geeft terug gewoon de hele database :s
(en verder mag ik als ik vragen heb rond C# jou een bericht sturen? dan moet ik geen topic starten, indien liever niet dan laat ik het natuurlijk ;))

kows

Legacy Member
Ajkea zei:
ja compleet beginnend...
bedankt maar ik veronderstel dat het werkt maar het geeft de gegevens niet weer? het geeft terug gewoon de hele database :s
(en verder mag ik als ik vragen heb rond C# jou een bericht sturen? dan moet ik geen topic starten, indien liever niet dan laat ik het natuurlijk ;))

was maar het begin en voorbeeldcode dat ik postte, rest logica dient nog gevormd te worden ;)

Ajkea

Legacy Member
kows zei:
was maar het begin en voorbeeldcode dat ik postte, rest logica dient nog gevormd te worden ;)
ok tot nu toe heb ik dit
Code:
        private void btnZoek_Click(object sender, EventArgs e)
        {
            SqlCommand queryZoeken = new SqlCommand();
            string query = "";

            query = "SELECT * FROM tblProducten WHERE Product LIKE '%" + txtZoek.Text + "%'";
            queryZoeken.CommandText = query;
            queryZoeken.CommandType = CommandType.Text;


            SqlDataAdapter connProducten = new SqlDataAdapter(queryZoeken);
            SqlCommandBuilder commandBuilder = new SqlCommandBuilder(connProducten);

            DataTable table = new DataTable();
            table.Locale = System.Globalization.CultureInfo.InvariantCulture;
            connProducten.Fill(table);
            dbBindSource.DataSource = table;

            dgvProducten.ReadOnly = true;

            dgvProducten.DataSource = dbBindSource;
        }

maar het geeft een fout bij
Code:
            connProducten.Fill(table);
enig idee waarom?

Ajkea

Legacy Member
kows zei:
fillen naar dataset en daaruit table halen? (zie post)

Ahja, ik zag niet dat je het had bijgewerkt,
1 vraagje
da.Fill(ds);
wat zou die ds moeten zijn?

Ajkea

Legacy Member
Nu als ik het laat lopen geeft het deze fout
InvalidOperationExpected was unhandled
Fill: eigenschap SelectCommand.Connection is niet geïnitialiseerd.

enig idee?
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan