#sql #c #visual-studio-2019 #clr
Вопрос:
Я создал пустой проект CLR и добавил класс для подключения к базе данных . Но, к сожалению, он выдает мне ошибки при подключении, потому что не может определить класс, в котором я написал код для подключения
#pragma once
#include "MyForm1.h"
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
using namespace Data;
using namespace Data::SqlClient;
using namespace Data::Sql;
using namespace Microsoft::SqlServer::Server;
using namespace System::Data::SqlTypes;
ref class Function
{
public: Function();
SqlConnection^ conn;
SqlConnectionStringBuilder^ connStringBuilder;
void ConnectBD() {
//Data Source=LAPTOP-SK4D7Q04SQLEXPRESS;Initial Catalog=MKB;Integrated Security=True
connStringBuilder = gcnew SqlConnectionStringBuilder();
connStringBuilder->DataSource = "LAPTOP-SK4D7Q04\SQLEXPRESS";
connStringBuilder->InitialCatalog = "MKB";
connStringBuilder->IntegratedSecurity = true;
conn = gcnew SqlConnection(Convert::ToString(connStringBuilder));
}
public:void Insert(String^ FirstName) {
try {
ConnectBD();
String^ cmdText = "insert into dbo.Contacts(FirstName) Values()";
SqlCommand^ cmd = gcnew SqlCommand(cmdText, conn);
cmd->Parameters->AddWithValue("@NameVsavka", FirstName);
cmd->ExecuteNonQuery();
}
finally {
if (conn != nullptr) {
conn->Close();
}
}
}
};
Комментарии:
1. Привет, какие конкретно ошибки вы получаете? Можете ли вы отредактировать вопрос и включить фактические сообщения об ошибках (трассировка стека, если таковые имеются)?
2. Здравствуйте, произошла ошибка при передаче объекта класса в класс конструктора формы. Поскольку само понятие класса не подразумевает передачу объектов между ними, это привело к путанице. В общем, я переписал код с помощью функции без использования класса, и теперь все работает. Извините за мой английский