Как видно из названия, это моя первая попытка C #, поэтому, пожалуйста, будьте спокойны.(Как новичок я обещаю задать несколько простых вопросов для профессионалов C #, чтобы получить некоторые простые моменты!) Я использую ExcelDNA для создания UDF в Excel, который будет запрашивать нашу базу данных mysql.Я добавил ExcelDNA и MySQL соединитель DLL в качестве ссылок.У меня есть следующий код, который выдает несколько ошибок:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
using Microsoft.Office.Tools.Excel;
using ExcelDna.Integration;
using MySql.Data.MySqlClient;
namespace my_test
{
public partial class ThisAddIn
{
[ExcelFunction(Description = "Multiplies two numbers", Category = "Useful functions")]
public static MultiplyThem(string[] args)
{
string connString = "Server=localhost;Port=3306;Database=test;Uid=root;password=p-word";
MySqlConnection conn = new MySqlConnection(connString);
MySqlCommand command = conn.CreateCommand();
command.CommandText = "SELECT field_value FROM customers";
try
{
conn.Open();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
string myvariable = "bad";
MySqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
myvariable = reader["field_value"].ToString;
}
return myvariable.ToString;
}
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
}
private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
{
}
}
}
Вот ошибки:
Ошибка 1 Не удается преобразовать группу методов «ToString» в тип без двойного делегирования «double».Вы намеревались вызвать метод?
Ошибка 2 Метод должен иметь тип возвращаемого значения
Ошибка 3 Не удалось преобразовать группу методов «ToString» в тип «string» без делегата.Вы намеревались вызвать метод?
Ошибка 4 Поскольку my_test.ThisAddIn.MultiplyThem (string []) 'возвращает void, за ключевым словом return не должно следовать выражение объекта