我有一个要求,我需要在c#中从Access DB读取查询,并检查访问数据库查询是否有任何关键字,如"KEY",如果它有关键字我需要将其括在方括号"[]"中.就像它如何在SQL中完成.
有人可以建议我怎么做吗?
所以我有一个程序可以让用户选择一个 Outlook 文件夹来导入到表中。然后可以从组合框中选择并传输到表单以供使用。
但是,我对返回的值之一有问题。SenderEmailAddress 实际上并没有给我一个电子邮件地址,例如这是我保存在我的表中的内容。
为了隐私,我删除了名字。
/O=COMPANY/OU=MAIL12/CN=RECIPIENTS/CN=FIRSTNAME.LASTNAME
现在当然,如果我想将此值传递回 Outlook 以回复电子邮件,我不能使用它。
有人可以帮我吗?
Public Sub LoadEmails()
On Error Resume Next
'Outlook wasn't running, start it from code
If Started = False Then
Set olApp = New Outlook.Application '("Outlook.Application")
Started = True
End If
Set myNamespace = olApp.GetNamespace("MAPI")
Set objFolder = myNamespace.PickFolder
' if outlook is closed, it will display this error
If Err <> 0 Then
MsgBox "Outlook was closed. Please log out and log back in."
Started = False
Exit Sub …Run Code Online (Sandbox Code Playgroud) 当我从 2010 年访问数据库中的本地表中删除 * 记录时,我没有任何问题,但是当我循环遍历列表并点击链接表(本地数据库,这是一个 fe/be 设置)时,它失败并显示:运行时错误' 3131': FROM 子句中存在语法错误。代码:
If sanityCheck2 = vbYes Then
DoCmd.SetWarnings False
'list the tables to purge here
dalist = "tblLocal1 tblRemote-2 tblRemote-3"
darray = Split(dalist, " ")
For i = LBound(darray) To UBound(darray)
DoCmd.OpenTable darray(i)
DoCmd.RunSQL squirrel
Next
DoCmd.SetWarnings True
Run Code Online (Sandbox Code Playgroud)
代码在 tblLocal1 上运行良好,但在任何遥控器上都不起作用。
我可以打开数据表中的表并删除记录,没有问题,只是不是通过这里。
在我的C#课程中,我获得了以下数据文件,用于我当前的作业(控制台程序):
Combine, 1500.00
Oxen, 195.00
Mule, 200.00
Tractor, 4000.00
Truck, 12150.00
Trailer, 475.00
Run Code Online (Sandbox Code Playgroud)
当然,空格是文件的一部分.我无法以任何方式保存或更改数据文件.
我需要将其作为二维数组(或两个并行数组)读取,然后从用户输入对数组进行搜索.该程序应该能够接受以下用户输入:
设备名称,起始值,折旧年限和(如果尚未在阵列中)残值.如果设备没有出现在阵列中,我会将其视为新设备,如果再次输入该设备,则无需输入残值.
一旦我有了所有用户输入,我就要输出年份和每年的折旧价值.该程序还需要一个用户输入,输出和退出菜单.
我们只在周三经历了在数组内搜索的例子; 期末考试和这项任务都将于周一到期.我一直在搜索这个网站并阅读三个不同的文本大约八个小时直接试图了解我正在做什么而我根本没有得到它(班上只有八个人高于70%,所以我做得比大多数好,但仍然是.
这是我到目前为止编写的代码.今天我只想尝试一个合适的二维阵列.我的问题是,我是否正确实现了二维数组,如果是这样,我如何从上面显示的文件中引用每个设备和残值,彼此独立?
public static void GetArrayFromFile()
{
StreamReader equipmentFile = new StreamReader("SalvageData.TXT");
string[,] salvageFileArray = new string[1, 6];
for (int indexCounterA = 0; indexCounterA < 6; indexCounterA++)
{
if (equipmentFile.Peek() != -1)
{
for (int indexCounterB = 0; indexCounterB < 6; indexCounterB++)
{
if (equipmentFile.Peek() != -1)
{
salvageFileArray[indexCounterA, indexCounterB] = equipmentFile.ReadLine();
}
else
{
break;
}
}
}
else
{
break; …Run Code Online (Sandbox Code Playgroud) 我想获得满足给定条件的第一个项目,如果没有一个项目符合该条件,我只想获得第一个项目
这就是我目前所做的和有效的,但我不喜欢它。在一个 LINQ 查询中是否有更优雅的方法来做同样的事情?
LookupLine lookup;
Func<KeyValuePair<int,LookupLine>,bool> criteria =
(kv) => !kv.Value.Gruppe.StartsWith("SF");
if (lookupLines.Any(criteria))
{
lookup = lookupLines.First(criteria).Value;
}
else if (lookupLines.Any())
{
lookup = lookupLines.First().Value;
}
FirstRelevantGroup = lookup.Gruppe;
Run Code Online (Sandbox Code Playgroud) 我在C#中有一些使用结构的代码:
ArrayList addrs = new ArrayList();
byte[] addr = new byte[8];
while (oneWire.Search_GetNextDevice(addr))
{
addrs.Add(addr);
}
Run Code Online (Sandbox Code Playgroud)
在这个例子中,它中的每个元素ArrayList都与找到的最后一个设备相同,因为它看起来好像addr是通过引用传递出来的,而我只是将该引用复制到了ArrayList.
有没有办法"解除引用" addr只能提取它的价值?
我的评估也可能是不正确的,如果情况确实如此,请告诉我
谢谢!
我有一个可以实现各种集合和数据类型的接口,它可以很好地处理某些集合,但字典给我带来了问题,我猜是因为字典有点不同并且有键值对?
public interface IStructure
{
void InsertRun<T> (T item);
ICollection RetrieveSortedListRun<T>();
T RetrieveItemRun<T>(T item);
}
class DictionaryRun : IStructure
{
IDictionary<int, object> dictionary;
public DictionaryRun()
{
dictionary = new Dictionary<int, object>();
}
public void InsertRun<T>(T item)
{
dictionary.Add(dictionary.Count + 1, item);
}
public ICollection RetrieveSortedListRun<T>()
{
return dictionary;
}
public T RetrieveItemRun<T>(T item)
{
return item;
}
}
Run Code Online (Sandbox Code Playgroud) 我做了一些逻辑,但它的错误?
我的代码
private static void DrawText(String text, Font font, Color textColor, Color backColor)
{
Image img = new Bitmap(640, 360);
Graphics drawing = Graphics.FromImage(img);
Color color = textColor;
if (text.Length <= 80) {
Rectangle displayRectangle =
new Rectangle(new Point(20, 100), new Size(img.Width - 1, img.Height - 1));
} else {
Rectangle displayRectangle =
new Rectangle(new Point(20, 80), new Size(img.Width - 1, img.Height - 1));
}
StringFormat format1 = new StringFormat(StringFormatFlags.NoClip);
StringFormat format2 = new StringFormat(format1);
// ERROR ON NEXT LINE …Run Code Online (Sandbox Code Playgroud) 当我在未初始化的变量中设置断点并运行项目时,我观察到在运行时调试器不会在该行停止而不是停止,它会触及未初始化变量的下一行.
我还观察到,在运行时断点也显示在下一行.
例:
string strTest; // Set breakpoint here.
Console.WriteLine("This is test"); // The debugger stops here, not in the line above.
strTest = "Hi I am Test"; // Initialize string variable here.
Run Code Online (Sandbox Code Playgroud)
这是预期的行为吗?我的意思是为什么VS调试器不会停止在未初始化的变量?以及为什么在运行时断点移动到下一行未初始化的变量?
你好今天我练习了SQL语句.当我尝试从%like%中选择数据库时,它在我使用变量时以及当我不使用它时输出不同的值.
请参阅follorwing考虑名为POSTS的简单表,每个帖子都有CONTENT和HEADING
现在当我尝试从这个表中选择时
SELECT *
FROM Posts
WHERE Headline like '%'+'fun'+'%' OR Content like '%'+'fun'+'%'
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
但是,如果我尝试在搜索中选择使用变量:
DECLARE @test NVARCHAR = 'fun'
SELECT * FROM Posts
WHERE Headline like '%'+@test+'%' OR Content like '%'+@test+'%'
Run Code Online (Sandbox Code Playgroud)
我得到这个输出:
所以我想知道这个变量怎么会改变结果,理论上它必须具有相同的输出?
c# ×7
ms-access ×3
.net ×2
sql ×2
vba ×2
arrays ×1
collections ×1
ddl ×1
debugging ×1
dictionary ×1
email ×1
generics ×1
icollection ×1
outlook ×1
select ×1
sql-server ×1
winforms ×1