Masalah permulaan sifat CommandText
P粉668804228
P粉668804228 2024-04-04 22:43:24
0
1
649

Saya cuba merealisasikan data ke dalam 2 (3) jadual secara serentak menggunakan aplikasi konsol C#. Saya ingin melaksanakan nama pertama, nama keluarga dan ID pengguna dalam jadual "Pengguna", ID pengguna akan dinaikkan secara automatik.

ID pengguna yang sama juga harus dilaksanakan ke dalam "profil" jadual bersama-sama dengan porilfeID (sekali lagi dilakukan secara automatik melalui kenaikan automatik) dan profileName.

Tetapi di suatu tempat ia melemparkan ralat bahawa teks arahan tidak dimulakan dengan betul dan saya tidak dapat mengetahui apa yang saya lakukan salah.

class SQLCreate
{
    public void create(int entries)
    {
        string ConnectionString = "server=localhost;uid=root;pwd=;database=databaseassignment;";

        MySqlConnection conn;
        MySqlCommand cmd;
        MySqlDataAdapter adapter;

        conn = new MySqlConnection();

        int entryValue = entries;
        conn.ConnectionString = ConnectionString;

        try
        {
            Stopwatch stopw = new Stopwatch();
            stopw.Start();
            conn.Open();

            cmd = new MySqlCommand();
            adapter = new MySqlDataAdapter();

            cmd.Connection = conn;

            for (int i = 0; i < entryValue; i++)
            {
          
                MySqlCommand cmd1 = new MySqlCommand("INSERT INTO user (firstName, lastName) VALUES (@firstName, @lastName)", conn);
                //MySqlCommand cmd1 = new MySqlCommand("INSERT INTO user (firstName, lastName) VALUES (@firstName, @lastName)", conn);
    
    
                cmd1.Parameters.AddWithValue("@firstName", "John");
                cmd1.Parameters.AddWithValue("@lastName", "Doe");
    
                cmd1.CommandType = CommandType.Text;
    
                int userId = Convert.ToInt32(cmd1.ExecuteScalar());
    
                MySqlCommand cmd2 = new MySqlCommand("INSERT INTO profile (userId, profileName) VALUES (@userId, @profileName)", conn);
    
                cmd2.Parameters.AddWithValue("@userId", userId);
                cmd2.Parameters.AddWithValue("@profileName", "John Doe");
                    
                cmd2.CommandType = CommandType.Text;
    
                cmd2.ExecuteNonQuery();
    
                string firstName = Faker.Name.First();
                string lastName = Faker.Name.Last();
                string profileName = Faker.Name.First();
    
                cmd.Parameters.Add("@firstName", MySqlDbType.String);
                cmd.Parameters["@firstName"].Value = firstName;
    
                cmd.Parameters.Add("@lastName", MySqlDbType.String);
                cmd.Parameters["@lastName"].Value = lastName;
    
                cmd.Parameters.Add("@profileName", MySqlDbType.String);
                cmd.Parameters["@profileName"].Value = profileName;
    
                cmd.ExecuteNonQuery();
            }
            conn.Close();
            stopw.Stop();
            Console.WriteLine(" Time elapsed: {0} ", stopw.Elapsed);
        } catch (MySql.Data.MySqlClient.MySqlException ex) {
            Console.WriteLine(ex.Message);
        }
    }
}
}

P粉668804228
P粉668804228

membalas semua(1)
P粉337385922

Anda mencipta cmd = new MySqlCommand(); 但从未设置其 .CommandText 属性。调用 cmd.ExecuteNonQuery(); 将失败,因为没有 CommandText sedia untuk dilaksanakan.

Tetapancmd.CommandText 或将构造函数更改为 cmd = new MySqlCommand("text here", conn);.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan