Попытка получить введенный пользователем текст в приложении формы C # windows к базе данных MySQL, ничего, кроме быстрых ударов - PullRequest
0 голосов
/ 06 июля 2011

Я начну с того, что я новичок во всем этом, я еще не видел, как люди ругают других на этом сайте, но хотел бы не быть первым: P

Как следует из названия, мне трудно заставить его работать, и я был бы очень признателен за любую помощь.

И я довольно долго искал в Google, встречал здесь посты с другими, у которых были ошибки, такие как этот и этот . Поиграл с кодом, попытался найти ошибки и не смог.

Программа имеет кодирование для преобразования изображения в base64, в котором нет ошибок, но в какой-то момент хотелось бы включить код в базу данных.

Это то, что у меня есть (возможно, самое дальнее от того места, где я должен быть, хотя ...):

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.IO;
using MySql.Data.MySqlClient;
using Microsoft.Data.Odbc;
using System.Configuration;
using System.Data.SqlClient;


namespace BaseEncoder
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            byte[] imageBytes = null;

            FileStream fs = new FileStream(@"C:/Users/m29582/Desktop/capture1.jpeg", FileMode.Open, FileAccess.Read);
            //C:\Data\Kinect App\KinectApp\bin\Debug\capture0.jpeg

            BinaryReader reader = new BinaryReader(fs);
            try
            {
                long size = reader.BaseStream.Length;
                imageBytes = new byte[size];
                for (long i = 0; i < size; i++)
                {
                    imageBytes[i] = reader.ReadByte();
                }
            }
            finally
            {
                reader.Close();
                fs.Close();
            }
            string imageString = Convert.ToBase64String(imageBytes);
            TextWriter writer = new StreamWriter(@"C:/Users/m29582/Desktop/zcapture1.txt");
            label1.Text = "Enter First Name:";
            label2.Text = "Enter Last Name:";
            label3.Text = "Enter Date of Birth, ex.(1990):";
        }
        private void button1_Click(object sender, EventArgs e)
        {
            string firstname = textBox1.Text;
            string lastname = textBox2.Text;
            string dob = textBox3.Text;
            TextWriter writer = new StreamWriter(@"C:/Users/m29582/Desktop/zcapture1.txt");
            MySqlConnection cn = new MySqlConnection("Driver={MySQL ODBC 3.51 Driver}; Server=localhost; Database=kinect; Uid=root; Pwd=***;");
            MySqlDataAdapter da = new MySqlDataAdapter();
            DataSet ds = new DataSet();
            cn.Open();
            ds = new DataSet();
            da = new MySqlDataAdapter("Insert into kinect (Number, First Name, Last Name, DOB) values (null, @firstname, @lastname, @dob)", cn);
            MySqlCommand cmd = new MySqlCommand();
            da.Update(ds);
            MessageBox.Show("Success");
            cn.Close();
        }

Код перед button1_Clicked Я просто включил, потому что проблемы с button1_clicked. Я пробовал так много разных примеров, пытался поиграться с чужим кодом, который тоже испытывал трудности, попытался:

da = new MySqlDataAdapter("Insert into kinect (Number, First Name, Last Name, DOB) values (null, " + @firstname + "," + @lastname + "," + @dob + ")", cn);

Наряду с несколькими другими вариациями с "?" также. Я не знаю, нужно ли мне использовать MySQL, ODBC или SQL (если это вообще имеет значение ..), потому что у меня почти нет опыта в этом ... Извините, что даю такое длинное объяснение, чтобы подвести итог Опять же, я хотел бы получить некоторую помощь, пытаясь получить текстовые вводы из текстовых полей для сохранения в соответствующих столбцах базы данных, если это возможно.

В качестве дополнительного примечания, я также хотел бы немного помочь, пытаясь включить кодированное изображение base64 в базу данных, если вы знаете что-то из головы. Я отмечу ответы, + репутацию, благодарность и т. Д. Всем, кто помогает, в отличие от тех, кто сходит с ума, тратит ваше время и ничего не говорит / не делает, но использует вашу помощь.

1 Ответ

1 голос
/ 06 июля 2011

Я не эксперт в этом вопросе, но, судя по этой документации , вы можете передать только запрос SELECT конструктору MySqlDataAdapter, а не INSERT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...