<b>Start Date: </b>@employee["StartDate"].<br />
Run Code Online (Sandbox Code Playgroud)
使用MVC Razor 3/C#,如何employee["StartDate"]在cshtml中检查值是否为空/空?所以,如果是,我反而显示:
<b>Start Date: </b>Unknown.<br />
Run Code Online (Sandbox Code Playgroud)
我试过了:
@if(employee["StartDate"] == null){<b>Start Date: </b>Unknown.<br />}
Run Code Online (Sandbox Code Playgroud)
但这不起作用.
我正在开发一个用于图像处理的可视化 C# 程序。我正在尝试使用 Visual C#(Windows 窗体)和 ADO.NET 将图像添加到 sql 数据库。
我已使用文件流方法将图像转换为二进制形式,但图像字节未保存在数据库中。在数据库图像列,它显示 < 二进制数据 > 并且没有数据被保存!
我尝试了很多插入方法(有和没有存储过程......等),但总是在数据库中得到同样的东西。
private void button6_Click(object sender, EventArgs e)
{
try
{
byte[] image = null;
pictureBox2.ImageLocation = textBox1.Text;
string filepath = textBox1.Text;
FileStream fs = new FileStream(filepath, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
image = br.ReadBytes((int)fs.Length);
string sql = " INSERT INTO ImageTable(Image) VALUES(@Imgg)";
if (con.State != ConnectionState.Open)
con.Open();
SqlCommand cmd = new SqlCommand(sql, con);
cmd.Parameters.Add(new SqlParameter("@Imgg", image));
int x= cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show(x.ToString() + "Image …Run Code Online (Sandbox Code Playgroud) 请参阅我下面的示例程序。我有两个包含相同名称空间struct。为了避免在中使用时发生冲突Main(),我给了命名空间别名。在调用structfrom时Main(),我可以直接通过名称空间别名(例如)进行调用test.MyStruct。我还有另一个使用::运算符的选项,例如test::MyStruct。
为什么::需要运算符,在哪里应该使用它代替别名?
using System;
using test=counter;
using duplicatecounter;
namespace counter
{
struct MyStruct
{
}
}
namespace duplicatecounter
{
struct MyStruct
{
}
}
class Program
{
public static void Main()
{
test.MyStruct a = new test.MyStruct();
test::MyStruct a1 = new test::MyStruct();
}
}
Run Code Online (Sandbox Code Playgroud) 以下代码表明我不能在结构中使用隐式属性:
public struct LimitfailureRecord
{
public LimitfailureRecord(string sampleCode)
{
SampleCode = sampleCode;
}
public string SampleCode {get; set;}
{
}
}
Run Code Online (Sandbox Code Playgroud)
它无法编译,并显示错误消息
"在将控制权返回给调用者之前,必须完全分配自动实现的属性'blahblah.LimitfailureRecord.SampleCode'的后备字段.考虑从构造函数初始化程序调用默认构造函数."
如果我将结构更改为类,那很好.我需要做什么才能使它作为结构工作?如果我可以避免它,我宁愿不去支持字段的长度(这是真正代码的严重剥离版本).
我试图一次将一些数据插入2个表中,但是我的代码遇到的问题是...我一次只能插入一个表。如果我注释掉第一个插入语句,那么第二个插入将起作用,反之亦然。
这是我的代码
SqlCommand cmd = new SqlCommand("select Name from MainTable where Name= '" + Name+ "' ", sqlcon);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
lblmsg.Text = "We are already have this Name" + Name;
}
else
{
dr.Close();
sqlcmd.CommandText = "INSERT INTO Table1(Name, Address) VALUES(@Name, @Address)";
sqlcmd.CommandText = "INSERT INTO Table2(Company, Address2) VALUES(@Company, @Address2)";
sqlcmd.Parameters.Clear();
sqlcmd.Parameters.Add("@Name", SqlDbType.VarChar).Value = Name;
sqlcmd.Parameters.Add("@Address", SqlDbType.VarChar).Value = Address;
sqlcmd.Parameters.Add("@Company", SqlDbType.VarChar).Value = Company
sqlcmd.Parameters.Add("@Address2", SqlDbType.VarChar).Value = Address2;
sqlcmd.Connection = sqlcon;
sqlcmd.ExecuteNonQuery();
DV_NameAdd.ChangeMode(DetailsViewMode.ReadOnly);
sqlcon.Close();
}
sqlcon.Close();
Run Code Online (Sandbox Code Playgroud) 在我的主要方法中,我有一行代码 -
WebRequest reqObj = WebRequest.Create(CompleteDPath + FileName);
Run Code Online (Sandbox Code Playgroud)
我添加了一个导入 - System.Net.WebRequest.这会导致错误:
找不到类型或命名空间名称'YourProject'(您是否缺少using指令或程序集引用?).
当我将导入更改为" System.Net为什么会发生这种情况" 时,错误消失了 ?
实际上,我在SSIS的C#脚本任务中使用此代码,这是一个ETL工具.我提到,如果您无法在普通的视觉工作室中复制问题,并希望将SSIS声明为问题的根源.
我需要转换一个字符串说'12/12/2013 14:30:56.583'要在Informix数据库中转换为日期格式,如2013-12-12 14:30:56.583.
我使用了以下功能
to_date('12/12/2013 14:30:56.583',"%d/%m/%Y %H:%M:%S.")
Run Code Online (Sandbox Code Playgroud)
但它不接受毫秒,毫秒对结果值很重要.
我正在使用c#,我有工作代码,我在每行重复相同的代码,这是因为我正在创建列表,转换,提取数据等.
所以我有多个foreach子句,多个lists,多个转换list为datatables.我的问题是,为了获得干净的代码,我该怎么做才能重新分解这个?
码:
private void BtnLoadReport_Click(object sender, EventArgs e)
{
var db = new SQLDataMgr();
List<string> DesignStatusList = new List<string>();
List<string> ShopStatusList = new List<string>();
List<string> CustomerTypeList = new List<string>();
List<string> CustomerList = new List<string>();
List<string> ResellerList = new List<string>();
List<string> StateList = new List<string>();
List<string> ProjectManagerList = new List<string>();
List<string> SalesRepresentativeList = new List<string>();
var checkedDesignStatus = cboDesignStatus.CheckBoxItems.Where(x => x.Checked);
var checkedShopStatus = cboShopStatus.CheckBoxItems.Where(x => x.Checked);
var checkedCustomerType = cboShopStatus.CheckBoxItems.Where(x => …Run Code Online (Sandbox Code Playgroud) 我有两个字段:
名
姓
并且只需要其中之一。但如果两者都被省略,我希望两个字段都突出显示。如果填写其中之一,则模型没问题,表格应该提交。
如何才能做到这一点?
我有以下代码将自动编号列添加到DataTable:
public void AddAutoIncrementColumn(DataTable dt)
{
DataColumn column = new DataColumn();
column.DataType = System.Type.GetType("System.Int32");
column.AutoIncrement = true;
column.AutoIncrementSeed = 0;
column.AutoIncrementStep = 1;
dt.Columns.Add(column);
}
Run Code Online (Sandbox Code Playgroud)
但是,对于表中已有的所有行,此值将为空; 似乎只对添加此列后添加的新行触发AutoIncrement.有没有办法为已存在的行设置自动编号值?
c# ×9
.net ×2
asp.net ×2
sql ×2
winforms ×2
asp.net-mvc ×1
datatable ×1
informix ×1
namespaces ×1
razor ×1
sql-server ×1