C# и mysql добавили данные в базу данных
Здравствуйте, я новичок в C# и MySQL. Я пытаюсь добавить данные в базу данных и получаю следующую ошибку.
Система.Коллекции.Generic.KeyNotFoundException {"данный ключ не присутствовал в словаре."}
Ошибка находится в следующей строке.
соединение.Выполнить("splonglat_insert", п, свойство commandtype: значение commandtype.Хранимая процедура);
Я могу добавить данные в базу данных в MySQL.
using Dapper; using LonglatLibrary.DataAccess; using System; using System.Collections.Generic; using System.Data; using System.Text; namespace LonglatLibrary { //public class MySQLConnector : IDataConnection public class MySqlConnection : IDataConnection { public Longlatmodel CreateLonglat(Longlatmodel model) { using (IDbConnection connection = new MySql.Data.MySqlClient.MySqlConnection(GlobalConfig.CnnString("spead_im_testing"))) { var p = new DynamicParameters(); p.Add("RailSiteCity", model.RailSiteCity); p.Add("RailSiteState", model.RailSiteState); p.Add("SiteLongitude", model.SiteLongitude); p.Add("SiteLatitude", model.SiteLatitude); p.Add("SiteLongitudeDirection", model.SiteLongitudeDirection); p.Add("SiteLatitudeDirection", model.SiteLatidudeDirection); p.Add("SiteCity", model.SiteCity); p.Add("SiteState", model.SiteState); connection.Execute("splonglat_insert", p, commandType: CommandType.StoredProcedure); return model; } } } }
Ниже приведена моя хранимая процедура. Что я упускаю?
CREATE DEFINER=`root`@`localhost` PROCEDURE `splonglat_insert`(in RailSiteCity varchar(35), in RailSiteState varchar(2), in SiteLongitude varchar(7), in SiteLatitude varchar(7), in SiteLongitudeDirection varchar(1), in SiteLatitudeDirection varchar(1), in SiteCity varchar(35), in SiteState varchar(2)) BEGIN insert into Longlat(RailSiteCity, RailSiteState, SiteLongitude, SiteLatitude, SiteLongitudeDirection, SiteLatitudeDirection, SiteCity, SiteState) values(RailSiteCity, RailSiteState, SiteLongitude, SiteLatitude, SiteLongitudeDirection, SiteLatitudeDirection, SiteCity, SiteState); END
Что я уже пробовал:
Не знаю, что и попробовать. Я думаю, что упускаю что-то в этой связи.Выполняю линию, но не могу ее понять.
Richard Deeming
Из того, что я вижу, класс MySqlConnection[^] не содержит вызываемого метода Execute
Это пользовательский метод расширения?
j snooze
Что-то не так с этой строкой, или свойство модели действительно написано с ошибкой? (Латидуде?)
п. Добавить("SiteLatitudeDirection", модель.SiteLatidudeDirection);
MIDCOPC
Я исправил орфографические ошибки. Появится форма windows, я могу ввести данные и нажать кнопку Обновить. Тогда я получаю ошибку. Система.Коллекции.Generic.KeyNotFoundException {"данный ключ не присутствовал в словаре."}
MIDCOPC
@Richard, я не думаю, что это пользовательское расширение. Я в этом новичок. Я посмотрю и посмотрю, могу ли я добавить к классу MySqlConnection. Спасибо
MIDCOPC
Обновление: я использую Dapper и MySQL. Я просмотрел код и исправил все орфографические ошибки. В MySQL я вижу соединение с базой данных, но все равно получаю ошибку, когда нажимаю кнопку Обновить.