我有一个datatable只包含一列,所有项目都是字符串.我怎样才能将它转换为List<string>使用LINQ?
我试过了:
DataRow[] rows = dtusers.Select();
var qq = from RowCollection in rows
select new { UserCode = LibStatic.ToStr(RowCollection["UserCode"]) };
List<string> users = new List<string>();
users = qq.Cast<string>().ToList();
Run Code Online (Sandbox Code Playgroud)
有一个总是有效的easyway:
foreach (DataRow dr in dtusers.Rows)
{
users.Add(dr[0].ToString());
}
Run Code Online (Sandbox Code Playgroud) 当我使用时,我有这个奇怪的问题
File FileToRead = new File("\\\\MYSERVER\\MYFOLDER\\MYFOLDER\\MYPICTURE.JPG");
Run Code Online (Sandbox Code Playgroud)
通过网络读取文件,我得到的只是空指针异常.通常情况下,本地路径可以使用它,但是当在网络路径上时,我无法设法让它工作.有任何想法吗?
PS:哦,我的网络连接似乎工作,在Windows资源管理器访问数据时没有问题...
更多代码:
File FileToRead = new File("file://DOKSERVICE/Somefolder/ProductImage/01001.JPG");
//File FileToRead = new File("c:\\dog.jpg"); local test
BufferedImage image = ImageIO.read(FileToRead);
BufferedImage resizedimage = new BufferedImage(260, 260,BufferedImage.TYPE_INT_RGB );
Graphics2D g = resizedimage.createGraphics();
g.drawImage(image, 0, 0, 260, 260, null);
g.dispose();
picture.setIcon(new ImageIcon(image));
Run Code Online (Sandbox Code Playgroud) 我正在用Java编写一个小应用程序来读取COM端口,因为我们使用64位系统,所以我不得不使用RXTX.问题是,当我尝试运行我的应用程序时,我收到以下错误:
"错误0x5在..\rxtx\src\termios.c(892):访问被拒绝"
试过我的代码以及来自RXTX网站的代码,以前有人有这方面的经验吗?
这是我的代码:
import gnu.io.CommPort;
import gnu.io.CommPortIdentifier;
import gnu.io.SerialPort;
import gnu.io.SerialPortEvent;
import gnu.io.SerialPortEventListener;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
/**
* This version of the TwoWaySerialComm example makes use of the
* SerialPortEventListener to avoid polling.
*
*/
public class TwoWaySerialComm
{
public TwoWaySerialComm()
{
super();
}
void connect ( String portName ) throws Exception
{
CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(portName);
if ( portIdentifier.isCurrentlyOwned() )
{
System.out.println("Error: Port is currently in use");
}
else
{
CommPort …Run Code Online (Sandbox Code Playgroud) 如您所知,SQL Server 2008+让我们礼貌地通过说明了解哪些值是重复的
重复键值为(foo,bar)
在SqlException消息中.通常我通过使用正则表达式获取这些值并在括号之间获取数据以向最终用户显示.
我在想; 有更优雅的方式来获得这些价值观吗?
计划使用jcif从Java中的Ubuntu通过Windows读取文件.使用以下简单方法:
String user = "mydomain;myuser:mypassword";
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(user);
SmbFile remotefile = new SmbFile("smb://myserver/myfolder/myfile.jar",auth);
Run Code Online (Sandbox Code Playgroud)
知道服务器工作并且登录值是正确的,我得到的只是登录失败,这可能是什么问题?
想象一下,我们有一个字符串:
String mystring = "A,B,C,D";
Run Code Online (Sandbox Code Playgroud)
我想在我的字符串中的每个单词之前和之后添加一个撇号.例如:
"'A','B','C','D'"
Run Code Online (Sandbox Code Playgroud)
我怎样才能实现这一目标?
我有以下两个类:
class Product(db.Model):
__tablename__ = 'product'
ProductID = db.Column(db.Integer, primary_key=True)
StartOperatorID = db.Column(db.Integer, db.ForeignKey('user.UserID'), nullable=False)
StartOperator = db.relationship("User", foreign_keys=[StartOperatorID])
WorkBenchID = db.Column(db.Integer, db.ForeignKey('workbench.WorkBenchID'))
WorkBench = db.relationship(WorkBench)
class WorkBench(db.Model):
__tablename__ = 'workbench'
WorkBenchID = db.Column(db.Integer, primary_key=True)
Run Code Online (Sandbox Code Playgroud)
但是,我得到以下NameError,因为WorkBench定义如下产品:
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-1-3a482de7fdcf> in <module>()
----> 1 from example import models
/home/Sin5k4/example/models.py in <module>()
16
---> 17 class Product(db.Model):
18 ProductID = db.Column(db.Integer, primary_key=True)
/home/Sin5k4/example/models.py in Product()
21 WorkBenchID = db.Column(db.Integer, db.ForeignKey('workbench.WorkBenchID'))
---> 22 WorkBench = db.relationship(WorkBench)
23
NameError: …Run Code Online (Sandbox Code Playgroud) 好吧,我有一个奇怪的问题要问,有时候在设计一个表格并使用大量的控件和面板层时,一些控件会在表格中变得"丢失".他们会在停靠的面板后面等等.那里有一个窗口或者什么东西就像在visual studio中看到表单中使用的所有组件所以我可以找到未使用的组件?
知道Java doest在C#中有逐字符串(@),在代码中使用它时是否有保留字符串格式的方法?我有一个s代码我必须在代码中使用,但为了便于阅读我必须保持它以某种格式,我可以在c#中使用@做到这一点,但我怎样才能在Java中实现呢?
例如:
String SQL=@"INSERT INTO VERSION_INFO
( TABLE_NAME ,
VERSION_ID ,
DATE,
EXP
)
VALUES ( '' , -- TABLE_NAME - varchar(50)
0 , -- VERSION_ID - int
0 , -- DATE- int
'' -- EXP- varchar(100)
)";
Run Code Online (Sandbox Code Playgroud)
我必须按原样使用它,不需要太多修改......
编辑为愚蠢......
我有一个简单的模型,因为它有 2 个字段,并且使用以下 put 方法,我想在数据库中更新它。包括删除在内的所有方法都有效,但是在 Postman 中 put 方法总是返回 405 错误。(也尝试过 WebDAV 解决方案。)我在这里错过了什么?
放置方法:
{
"MasterId":1,
"MasterName":"Test"
}
Run Code Online (Sandbox Code Playgroud)
行动
[HttpPut("{id:int}")]
public async Task<IActionResult> PutMaster(int id, Master master)
{
if (id != master.MasterId)
{
return BadRequest();
}
//...some code
return NoContent();
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试从列表中的值创建一个字符串;我想要实现的是在更新查询中使用的sql语法:
UPDATE TABLE SET COLUMN1 =X WHERE COLUMN2 IN ('A','B','C')
(A,B,C是我列表中的项目.)我怎样才能实现这一目标?尝试:
string commaSeparatedList = _list.Aggregate((a, x) => a + ", " + x);
Run Code Online (Sandbox Code Playgroud)
但它创造了我没有撇号的列表......
我想基于一个where IN ()子句更新一个字段,但我也希望使用WHERE NOT IN().. 更新其余的值.例如:
UPDATE TABLE SET COLUMN1 = X WHERE COLUMN2 IN (1,2,3)
UPDATE TABLE SET COLUMN1 = Y WHERE COLUMN2 NOT IN (1,2,3)
Run Code Online (Sandbox Code Playgroud)
简单地说,是否有办法将这两个查询结合起来?
c# ×6
java ×4
sql-server ×2
asp.net-core ×1
file-io ×1
jcifs ×1
linq ×1
python ×1
rxtx ×1
serial-port ×1
sql ×1
sqlalchemy ×1
string ×1
termios ×1
winforms ×1