我再次收到错误,说明没有与SQL查询匹配的行.
它指出:
位置0没有行.
要点:
firstnameTxt.Text = dt.Rows[0].ItemArray[1].ToString();
Run Code Online (Sandbox Code Playgroud)
以下是我的C#代码.
protected void Page_Load(object sender, EventArgs e)
{
if (Session["New"] != null)
{
redPnl.Visible = false;
UserNameSess.Text += Session["New"].ToString();
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0; AttachDbFilename=C:\Users\Donald\Documents\Visual Studio 2013\Projects\DesktopApplication\DesktopApplication\Student_CB.mdf ;Integrated Security=True");
con.Open();
SqlDataAdapter sda = new SqlDataAdapter("Select Student_Username, Student_FName, Student_SName, Student_Email FROM Student Where Student_Username=@StuUsername", con);
sda.SelectCommand.Parameters.Add("@StuUsername", SqlDbType.VarChar).Value = UserNameSess.Text;
DataTable dt = new DataTable();
sda.Fill(dt);
if (dt.Rows.Count > 0)
usernameTxt.Text = dt.Rows[0].ItemArray[0].ToString();
firstnameTxt.Text = dt.Rows[0].ItemArray[1].ToString();
surnameTxt.Text = dt.Rows[0].ItemArray[2].ToString();
emailTxt.Text = dt.Rows[0].ItemArray[3].ToString();
dt.Clear();
} …Run Code Online (Sandbox Code Playgroud) 我有这个LINQ:
private static IQueryable<Contract> getValidContracts(DbContext context, DateTime date,int clientId)
{
return (from contract in context.Set<Contract>()
where contract.ValidityDate >= date
where contract.ClientId == clientId
select contract);
}
Run Code Online (Sandbox Code Playgroud)
在LINQ我给了这一行:
where contract.ClientId == clientId
Run Code Online (Sandbox Code Playgroud)
我希望只有当clientId变量不等于零时,此行才会包含在where子句中.
任何想法我怎么能优雅呢?
作为一个例子,在开始时有很多ifs 和很多else if在一个之后if。我在下面添加了一些伪代码。
if (x=1)
print x;
if (x=2)
print x;
if (x=3)
print x;
Run Code Online (Sandbox Code Playgroud)
或者
if (x=1)
print x;
else if (x=2)
print x;
else if (x=3)
print x;
Run Code Online (Sandbox Code Playgroud) 我有两个与DateTime分配相关的问题
DateTime? y = 1 == 1 ? null: DateTime.MaxValue;
DateTime? y = null; // assignment works as expected
Run Code Online (Sandbox Code Playgroud)
null和之间发生类型转换错误DateTime?哪个是DateTime?c#中空赋值的首选方法.
DateTime? x = default(DateTime?); //prints null on console
DateTime? x = null; // prints null on console
DateTime? x = DateTime.MinValue; //print 01/01/0001
Run Code Online (Sandbox Code Playgroud)我的列表框中有对象包含BankAccount类的实例(Balance,transfer,Withdraw方法)和Wallet类(name,birthday等)
我需要查看有关所选列表框对象的某些信息部分(如balance) (lbAccounts).
列表框中的对象:
DateTime birth = Convert.ToDateTime("01/01/1970");
Wallet account = new Wallet("Bob", "Smith", birth);
BankAccount account1 = new BankAccount(account);
account1.DepositFunds(5000);
BankAccount account2 = new BankAccount(account);
account2.DepositFunds(300);
//Adding accounts to listbox
lbAccounts.Items.Add(account1);
lbAccounts.Items.Add(account2);
Run Code Online (Sandbox Code Playgroud)
问题: 如何获得所选列表框对象的余额?
我有一个字符串2016.我想知道如何将此字符串解析为日期时间?我试过,Datetime.ParseExact但它说这不是一个有效的格式
string period = "2016"
DateTime date = DateTime.ParseExact(period, "YYYY", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
帮助将不胜感激.谢谢
我是C#的新手,并试图学习如何将2D数组的各行发送到函数.我有一个3行2列的二维数组.如果我想将第三行发送到一个被调用的函数calculate,请告诉我如何执行此操作.
namespace test
{
class Program
{
static void Main(string[] args)
{
string[,] array2Db = new string[3, 2] { { "one", "two" }, { "three", "four" }, { "five", "six" } };
calculate(array2Db[2,0]); //I want to send only the 3rd row to this array
//This array may contain millions of words. Therefore, I can't pass each array value individually
}
void calculate(string[] words)
{
for (int i = 0; i < 2; i++)
{
Console.WriteLine(words);
}
}
} …Run Code Online (Sandbox Code Playgroud) 我一直在这里查看其他线程,以了解如何在linq中执行GroupBy。我正在使用对其他人有用的EXACT语法,但是,它不起作用。
这是查询:
var results = from p in pending
group p by p.ContactID into g
let amount = g.Sum(s => s.Amount)
select new PaymentItemModel
{
ContactID = g.ContactID, // <--- Error here
Amount = amount
};
Run Code Online (Sandbox Code Playgroud)
pending是一个List<T>包含其他列ContactID和的列,Amount但这是我对此查询仅关心的两列。
问题是,在的内部select new,g.不会给我原始列表内的任何列pending。当我尝试时,我得到:
IGrouping
<int, LeadPurchases>不包含ContactID的定义,也没有扩展方法等等……
这是我要模拟的SQL:
SELECT
lp.PurchasedFromContactID,
SUM (lp.Amount)
FROM
LeadPurchases lp
GROUP BY
lp.PurchasedFromContactID
Run Code Online (Sandbox Code Playgroud) 当用户输入名称像美国时,它应该更改为美国,我该怎么写
str hell0 = "USA"
Run Code Online (Sandbox Code Playgroud)
它应该保存在数据库中 U.S.A
我正在开发一个xamarin表单应用程序,我将当前日期时间指定为图像的文件名.目前图像保存为"7202017 53150 PM.jpg".我希望它像这样保存"720201753150PM.jpg".如何删除日期和时间之间的空格?
我尝试过如下,但它没有用.
string _imagename = DateTime.Now.ToString();
_imagename.Replace(" ", string.Empty);
Run Code Online (Sandbox Code Playgroud)