我正在使用MySQL数据库在c#(visual studio 2017)中构建配置表单.我想在数据库中存储文件夹路径.我得到一个"连接必须有效并打开"错误,但当我注释掉"cmd2.ExecuteNonQuery();"时 我没有得到错误.如果你能告诉我我做错了什么,我真的很感激.如果你能给我一个代码示例,它也会很棒.这是我的代码:
private void button5_Click(object sender, EventArgs e)
{
ConnectionStringSettings conSettings = ConfigurationManager.ConnectionStrings["shopmanagerConnectionString1"];
MySqlConnection con = new MySqlConnection(conSettings.ToString());
string a = textBox1.Text;
string b = textBox2.Text;
string c = textBox4.Text;
string escapedPath = a.Replace(@"\", @"\\").Replace("'", @"\'");
string escapedPath1 = b.Replace(@"\", @"\\").Replace("'", @"\'");
string escapedPath2 = c.Replace(@"\", @"\\").Replace("'", @"\'");
MySqlCommand cmd2 = new MySqlCommand("update shopmanager.paths set path_to_clients = '" + escapedPath + "',path_to_employee = '" + escapedPath1 + "',path_to_procedures = '" + escapedPath2 + "';");
try
{
con.Open();
cmd2.ExecuteNonQuery(); …Run Code Online (Sandbox Code Playgroud) 假设我有两个功能:
void DoesNothing(){}
void OnlyCalledOnce(){
//lines of code
}
Run Code Online (Sandbox Code Playgroud)
是否可以调用OnlyCalledOnce并实际运行DoesNothing?我想象这样的事情:
void DoesNothing(){}
void OnlyCalledOnce(){
//lines of code
OnlyCalledOnce = DoesNothing;
}
Run Code Online (Sandbox Code Playgroud)
在最后一行之后,每当我调用OnlyCalledOnce它时都会运行DoesNothing.
是否可以?
我做了一个测试项目并添加了几个文件.
现在我想要启动文件,form2.cs而不是form1.cs.
我有一个时间找到设置的魔鬼告诉项目在执行时加载第一个文件.
有人能指出我吗?
我正在将一个虚拟文件上传到 Google Cloud Storage,然后在将它传递给另一个单独托管的服务之前签署一个读/写 URL。不幸的是,我收到了 403 响应,其中包含以下消息:
我们计算的请求签名与您提供的签名不匹配。检查您的 Google 密钥和签名方法。
我用来创建虚拟对象并签署 URL 的代码:
const string BASE64_JSON_CREDS = "UklQIFN0YW4gTGVl"; // credentials of service account with "Storage Admin" role (entire json file as received from Google's Console)
const string BUCKET = "testbucket";
const string FILENAME = "test.jpg";
byte[] imageBytes = File.ReadAllBytes(@"test.jpg");
GoogleCredential credentials = null;
using (var stream = new MemoryStream(Convert.FromBase64String(BASE64_JSON_CREDS)))
{
credentials = GoogleCredential.FromStream(stream);
}
StorageClient storageClient = StorageClient.Create(credentials);
var bucket = await storageClient.GetBucketAsync(BUCKET);
await storageClient.UploadObjectAsync(bucket.Name, FILENAME, null, new MemoryStream());
var …Run Code Online (Sandbox Code Playgroud) c# google-cloud-storage pre-signed-url google-cloud-platform
我正在开发3层解决方案:
UI引用业务,业务引用存储.
业务层包含一个类"控制器",它将驱动层之间的交互.
控制器类从UI中的main()启动.控制器轮流从业务类启动实例
但是,启动的对象在控制器类中不可用.我们做错了什么?
/* UI: Program.cs */
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using Business;
namespace UI
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Business.Controller instController = new Business.Controller();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new UI());
}
}
Run Code Online (Sandbox Code Playgroud)
Business.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Storage;
namespace Business
{
public class Business
{ …Run Code Online (Sandbox Code Playgroud) 我正在拨打电话,并收到以下JSON响应:
{
"issues": [{
"id": "250271",
"self": "KeyUrl1",
"key": "Key-8622",
"fields": {
"attachment": [{
"self": "AttachmentUrl1",
"id": "106198",
"filename": "export.htm"
}
],
"customfield_11041": "Test"
}
},
{
"id": "250272",
"self": "KeyUrl2",
"key": "Key-8621",
"fields": {
"attachment": [{
"self": "AttachmentUrl2",
"id": "106199",
"filename": "lmn.htm"
}
],
"customfield_11041": "Test"
}
},
]
}
Run Code Online (Sandbox Code Playgroud)
我使用NewtonSoft Json将其解析为JObject。
var jObject = JObject.Parse(response);
Run Code Online (Sandbox Code Playgroud)
此外,我正在尝试过滤掉缺少附件或没有附件包含“导出”之类文件名的记录。
以下是我编写的代码,理想情况下,它应该在records对象中仅产生1条记录,但是它返回两个对象。
var issues = jObject["issues"] as JArray;
var records = issues.Where(x => !x["fields"]["attachment"].Any() || !x["fields"]["attachment"].Any(y => y["filename"].Contains("export")));
Run Code Online (Sandbox Code Playgroud)
需要帮助找出问题所在。
这是小提琴链接-https: //dotnetfiddle.net/AVyIHr
考虑有办法
static IEnumerable<IComparable> q()
{
return new List<string>();
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试实现相同的功能,但是在我自己的课程上,因此我收到转换错误CS0266
我尝试过这种方式,return (Common<Message>)new A();但结果InvalidCastException
interface Common<T> where T : Message
{
T Source { get; }
void Show();
}
interface Message
{
string Message { get; }
}
class AMsg : Message
{
public string Message => "A";
}
class A : Common<AMsg>
{
public AMsg Source => new AMsg();
public void Show() { Console.WriteLine(Source.Message); }
}
static Common<Message> test()
{
return new A(); //CS0266
}
Run Code Online (Sandbox Code Playgroud)
该方法如何返回实现相同接口的不同泛型?
我有这个代码片段:
public interface Imy
{
int X { get; set; }
}
public class MyImpl : Imy
{
private int _x;
int Imy.X
{
get => _x;
set => _x = value;
}
}
class Program
{
static void Main(string[] args)
{
var o = new MyImpl();
o.Imy.X = 3;//error
o.X = 3;//error
}
}
Run Code Online (Sandbox Code Playgroud)
我只是想为 X 赋值,但得到 2 个编译错误。如何解决?
这可能是一个简单的答案。
我正在制作这个 LINQ 表达式,其中按“名称”对列表进行分组,然后创建一个 SymbolField 集合,其中组键(名称)用作名称,值作为第二个参数连接在一起。
但问题更多的是,如何避免可能的空引用?
如果您查看图片,您会发现“可能”存在 为group.keynull 的情况。
我只想选择那些不为空的。我怎样才能根据我的代码做到这一点?
return result
.GroupBy(r => r.Name)
.Select(group =>
new SymbolField(group.Key, string.Join(string.Empty, group.Select(g => g.Symbol))));
Run Code Online (Sandbox Code Playgroud)
我有一个对象列表。每个对象都包含一个以逗号分隔的字符串形式的类别列表。我想知道每个类别有多少个对象。为此,我认为我需要按类别进行分组,然后对条目进行计数 - 但是我无法全神贯注于按列表分组。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
class MyDto
{
public string Name { get; set; }
public List<string> Categories => CategoriesString
.Split(',', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries).ToList();
public string CategoriesString { get; set; }
public override string ToString()
{
return Name + ": " + CategoriesString;
}
}
public class Program
{
public static void Main()
{
var dtos = new MyDto[]
{
new MyDto() { Name = "Dto 1", CategoriesString = "DELIVERY"},
new MyDto() { Name …Run Code Online (Sandbox Code Playgroud)